Author: jerome
Date: 2009-06-29 10:15:41 +0200 (Mon, 29 Jun 2009)
New Revision: 4926
Added:
software_suite_v3/software/plugin/plugin-maxlight/
software_suite_v3/software/plugin/plugin-maxlight/branches/
software_suite_v3/software/plugin/plugin-maxlight/tags/
software_suite_v3/software/plugin/plugin-maxlight/trunk/
software_suite_v3/software/plugin/plugin-maxlight/trunk/build.py
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/PluginPackager.py
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/__init__.py
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/__init__.py
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/DirectoriesAndFilesTools.py
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/__init__.py
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/version.py
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/version.py
software_suite_v3/software/plugin/plugin-maxlight/trunk/executables/
software_suite_v3/software/plugin/plugin-maxlight/trunk/executables/plugin-maxlight.py
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/en.po
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/en.wiki
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/es.po
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/es.wiki
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/fr.po
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/fr.wiki
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/help.wiki
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/nl.po
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/nl.wiki
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.png
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.pot
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.xml
Log:
* Added plugin-maxlight.
Added: software_suite_v3/software/plugin/plugin-maxlight/trunk/build.py
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/build.py
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/build.py
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,11 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2009 C2ME Sa
+# Remi Jocaille <[email protected]>
+# Distributed under the terms of the GNU General Public License
+# http://www.gnu.org/copyleft/gpl.html
+
+from builder.PluginPackager import PluginPackager
+
+if __name__ == "__main__":
+ PluginPackager().createScp("plugin-maxlight.scp")
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/PluginPackager.py
===================================================================
---
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/PluginPackager.py
(rev 0)
+++
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/PluginPackager.py
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,78 @@
+# -*- coding: utf-8 -*-
+
+import version
+__author__ = version.author
+__date__ = version.date
+__version__ = version.version
+__licence__ = version.licence
+del version
+
+# Copyleft (C) 2009 C2ME Sa
+# Remi Jocaille <[email protected]>
+# Distributed under the terms of the GNU General Public License
+# http://www.gnu.org/copyleft/gpl.html
+
+import os
+from zipfile import *
+
+from util.misc.DirectoriesAndFilesTools import *
+
+#
------------------------------------------------------------------------------
+# Class to create a SCP file from the main directory of a python plugin
project.
+#
------------------------------------------------------------------------------
+class PluginPackager(object):
+ """Class to create a SCP file from the main directory of a python plugin
+ project.
+ """
+
+ #
--------------------------------------------------------------------------
+ # Create a scp file.
+ #
--------------------------------------------------------------------------
+ def createScp(self, scpFileName):
+ """Create a scp file.
+ @param scpFileName: Smart-Core Plugin file name.
+ @return: The success of the file creation.
+ """
+ self.__sourcePath = os.path.realpath("")
+ if not os.path.isdir(self.__sourcePath):
+ return False
+ if not os.path.isdir(os.path.join(self.__sourcePath, "executables")):
+ return False
+ if not os.path.isdir(os.path.join(self.__sourcePath, "resources")):
+ return False
+ # Get some paths
+ SRC_EXECUTABLES_PATH = os.path.join(self.__sourcePath, "executables")
+ SRC_RESOURCES_PATH = os.path.join(self.__sourcePath, "resources")
+ TMP_BUILD_PATH = os.path.join(self.__sourcePath, "tmp")
+ DEST_EXECUTABLES_PATH = os.path.join(TMP_BUILD_PATH, "executables")
+ DEST_RESOURCES_PATH = os.path.join(TMP_BUILD_PATH, "resources")
+ DEST_SCP_FILENAME = os.path.join(self.__sourcePath, scpFileName)
+ # Create the temporary build path
+ MKDirsF(TMP_BUILD_PATH)
+ # Copy "executables" directory
+ CPDir(SRC_EXECUTABLES_PATH, DEST_EXECUTABLES_PATH)
+ # Copy "resources" directory
+ CPDir(SRC_RESOURCES_PATH, DEST_RESOURCES_PATH)
+ # Filtering the content of temporary path
+ RMWithFilters(TMP_BUILD_PATH, filters = ['.svn', '.pyc'])
+ # Create a zip file
+ directory = TMP_BUILD_PATH
+ last_cwd = os.getcwd()
+ os.chdir(TMP_BUILD_PATH)
+ zf = ZipFile(DEST_SCP_FILENAME, 'w', compression = ZIP_DEFLATED)
+ def walker(zip, directory, files, root = directory):
+ for file in files:
+ file = os.path.join(directory, file)
+ name = file[len(TMP_BUILD_PATH) + 1:]
+ if os.path.isfile(file):
+ zip.write(file, name, ZIP_DEFLATED)
+ elif os.path.isdir(file):
+ file = os.path.join(file, "")
+ name = os.path.join(name, "")
+ zip.writestr(name, name)
+ os.path.walk(TMP_BUILD_PATH, walker, zf)
+ zf.close()
+ os.chdir(os.path.abspath(last_cwd))
+ # Remove the temporary directory
+ RMDirs(TMP_BUILD_PATH)
+ return True
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/__init__.py
===================================================================
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/__init__.py
===================================================================
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/DirectoriesAndFilesTools.py
===================================================================
---
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/DirectoriesAndFilesTools.py
(rev 0)
+++
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/DirectoriesAndFilesTools.py
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,161 @@
+# -*- coding: utf-8 -*-
+
+import version
+__author__ = version.author
+__date__ = version.date
+__version__ = version.version
+__licence__ = version.licence
+del version
+
+# Copyleft (C) 2008 Acness World
+# Remi Jocaille <[email protected]>
+# Distributed under the terms of the GNU General Public License
+# http://www.gnu.org/copyleft/gpl.html
+
+import os
+import shutil
+
+if os.name == 'nt':
+ import win32con
+ import win32file
+
+#
==============================================================================
+# Public functions
+#
==============================================================================
+
+#
------------------------------------------------------------------------------
+# Force to create a directories tree if not exists.
+#
------------------------------------------------------------------------------
+def MKDirs(path):
+ """Force to create a directories tree if not exists.
+ @param path: Directory path.
+ """
+ if not os.path.isdir(path):
+ try:
+ os.makedirs(path)
+ except:
+ pass
+
+#
------------------------------------------------------------------------------
+# Force to create a directories tree after having deleted the old one.
+#
------------------------------------------------------------------------------
+def MKDirsF(path):
+ """Force to create a directories tree after having deleted the old one.
+ @param path: Directory path.
+ """
+ if os.path.isdir(path):
+ RMDirs(path)
+ os.makedirs(path)
+
+#
------------------------------------------------------------------------------
+# Remove directories and files recursively.
+#
------------------------------------------------------------------------------
+def RMDirs(path):
+ """Remove directories and files recursively.
+ @param path: Path of the base directory.
+ """
+ if not os.path.isdir(path):
+ return
+ for root, dirs, files in os.walk(path, topdown = False):
+ for d in dirs:
+ try:
+ os.removedirs(os.path.join(root, d))
+ except:
+ pass
+ for f in files:
+ try:
+ if os.name == 'nt':
+ win32file.SetFileAttributesW(os.path.join(root, f),
+ win32con.FILE_ATTRIBUTE_NORMAL)
+ os.remove(os.path.join(root, f))
+ except:
+ pass
+ if os.path.isdir(path):
+ try:
+ os.removedirs(path)
+ except:
+ pass
+
+#
------------------------------------------------------------------------------
+# Remove directories and files recursively with filters.
+#
------------------------------------------------------------------------------
+def RMWithFilters(path, filters = ['.pyc', '.pyo']):
+ """Remove directories and files recursively with filters.
+ @param path: Path of the base directory.
+ @param filters: Filters as list.
+ """
+ def checkFilter(name):
+ for filter in filters:
+ if name.lower().find(filter.lower()) == (len(name) - len(filter)):
+ return True
+ return False
+
+ if not os.path.isdir(path):
+ return
+
+ for root, dirs, files in os.walk(path, topdown = False):
+ for d in dirs:
+ if checkFilter(os.path.join(root, d)):
+ try:
+ RMDirs(os.path.join(root, d))
+ except:
+ pass
+ for f in files:
+ if checkFilter(os.path.join(root, f)):
+ try:
+ if os.name == 'nt':
+ win32file.SetFileAttributesW(os.path.join(root, f),
+ win32con.FILE_ATTRIBUTE_NORMAL)
+ os.remove(os.path.join(root, f))
+ except:
+ pass
+
+#
------------------------------------------------------------------------------
+# Remove a file.
+#
------------------------------------------------------------------------------
+def RMFile(path):
+ """Remove a file.
+ @param path: File path.
+ """
+ if os.path.isfile(path):
+ try:
+ if os.name == 'nt':
+ win32file.SetFileAttributesW(path,
+ win32con.FILE_ATTRIBUTE_NORMAL)
+ os.remove(path)
+ except:
+ pass
+
+#
------------------------------------------------------------------------------
+# Copy a directories tree to another directory.
+#
------------------------------------------------------------------------------
+def CPDir(src, dest):
+ """Copy a directories tree to another directory.
+ @param src: Source path.
+ @param dest: Destination path.
+ """
+ if not os.path.isdir(src):
+ return
+ if os.path.isdir(dest):
+ RMDirs(dest)
+ shutil.copytree(src, dest)
+
+#
------------------------------------------------------------------------------
+# Retrieve the OS temporary directory.
+#
------------------------------------------------------------------------------
+def GetOSTMPDir():
+ """Retrieve the OS temporary directory.
+ @return: The OS temporary directory.
+ """
+ result = None
+ # On Windows
+ if os.name == 'nt':
+ result = os.environ.get('tmp')
+ if result == None:
+ result = os.environ.get('temp')
+ if result == None:
+ result = "c:\\windows\\temp"
+ # On linux
+ else:
+ result = "/tmp"
+ return result
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/__init__.py
===================================================================
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/version.py
===================================================================
---
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/version.py
(rev 0)
+++
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/util/misc/version.py
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+
+"""Version data for tuxisalive.lib.Util"""
+
+__author__ = "Remi Jocaille ([email protected])"
+
+# Copyleft (C) 2008 C2ME Sa
+# Remi Jocaille <[email protected]>
+# Distributed under the terms of the GNU General Public License
+# http://www.gnu.org/copyleft/gpl.html
+
+name = 'util.misc'
+version = '0.0.1'
+author = "Remi Jocaille ([email protected])"
+
+description = "Utilities libraries."
+
+licence = "GPL"
+date = "December 2008"
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/version.py
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/version.py
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/builder/version.py
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,9 @@
+# Copyleft (C) 2009 C2ME Sa
+# Remi Jocaille <[email protected]>
+# Distributed under the terms of the GNU General Public License
+# http://www.gnu.org/copyleft/gpl.html
+
+version = '2.0'
+author = "Jerome Conan ([email protected])"
+licence = "GPL"
+date = "2009"
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/executables/plugin-maxlight.py
===================================================================
---
software_suite_v3/software/plugin/plugin-maxlight/trunk/executables/plugin-maxlight.py
(rev 0)
+++
software_suite_v3/software/plugin/plugin-maxlight/trunk/executables/plugin-maxlight.py
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,207 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2009 Kysoh Sa
+# Eric Lescaudron AKA Gwadavel http://gwadaself.tux.free.fr
+# Distributed under the terms of the GNU General Public License
+# http://www.gnu.org/copyleft/gpl.html
+
+__author__ = "Gwadavel"
+__appname__ = "Python plugin skeleton"
+__version__ = "2.0"
+__date__ = "2009/05/05"
+__license__ = "GPL"
+
+import os
+import sys
+
+import locale
+import gettext
+from tuxisalive.api import *
+from time import sleep, time
+import threading
+
+sys.path.append(os.environ['TUXDROID_SERVER_PYTHON_UTIL'])
+
+from util.SimplePlugin.SimplePluginConfiguration import
SimplePluginConfiguration
+from util.SimplePlugin.SimplePlugin import SimplePlugin
+
+
+class Light(object):
+ """
+ Manage the light research.
+ """
+
+ tgp_language = "en"
+ tgp_ip = "127.0.0.1"
+ tgp_port = 270
+ tux = TuxAPI("127.0.0.1", 270)
+
+ def __init__(self, plug):
+ '''
+ '''
+ self.plugin = plug
+
+
+
+ def tuxConnect(self):
+ '''
+ Wait connected
+ '''
+
+ self.tux.server.autoConnect(CLIENT_LEVEL_RESTRICTED, 'TuxMaxLight',
'plugin-maxlight')
+ self.tux.server.waitConnected(5.0)
+ self.tux.dongle.waitConnected(5.0)
+ self.tux.radio.waitConnected(5.0)
+ return self.tux.access.waitAcquire(5.0, ACCESS_PRIORITY_NORMAL)
+
+
+ def startSpinning(self):
+ '''
+ Start tux spinning.
+ '''
+ self.tux.spinning.leftOn(4.0, speed = SPV_SLOW);
+
+
+
+ def search(self):
+ '''
+ Search maximum light
+ '''
+
+ l_max = 0 # Light Max
+
+ # Turn on left 2 turns, asynchrone mode
+ thread = threading.Thread(target = self.startSpinning, args = [])
+ thread.start()
+
+ # wait Tux began to turn
+ sleep(1.5)
+
+ isTurning = self.tux.status.requestOne(ST_NAME_SPIN_LEFT_MOTOR_ON)[0]
+
+ mutex = threading.Lock()
+
+ while isTurning == "True":
+
+ mutex.acquire()
+ isTurning =
self.tux.status.requestOne(ST_NAME_SPIN_LEFT_MOTOR_ON)[0]
+
+ lum = self.tux.light.getLevel() # Light
+ sleep(0.1)
+
+ if lum > l_max: # Light Max ?
+ l_max = lum // 1
+
+ mutex.release()
+
+ return l_max # Return Light Max
+
+
+
+ def stopSearch(self, l_stop, currentTime):
+ '''
+ Tux stop when it finds light up Modified by ks156 who wrote light
+ monitor gadget for TuxDroid V1 Tux turn a little, wait and turn while
light < light max
+ '''
+ brk = False
+ l_stop = l_stop - 4.0 #Because of Windblows.
+ while 1:
+
+ self.tux.spinning.leftOnDuring(0.1, speed=SPV_VERYSLOW)
+ sleep(1.5)
+ lum = self.tux.light.getLevel()
+
+
+ if lum >= l_stop:
+ self.tux.spinning.off()
+ break
+
+
+ if (int(time()) - currentTime) >= 30:
+ plugin.throwMessage("Sorry I'm not sure where the most of the
light is coming from")
+ self.tux.spinning.off()
+ brk = True
+ break
+
+
+ if not brk:
+ plugin.throwMessage("I think most of the light is coming from this
direction.")
+
+
+ def startAll(self):
+ '''
+ '''
+
+ if "tgp_language" in os.environ:
+ self.tgp_language = os.environ["tgp_language"]
+
+ # Test if tgp_ip and tgp_port exist
+ if "tgp_ip" in os.environ:
+ self.tgp_ip = os.environ["tgp_ip"]
+
+ if "tgp_port" in os.environ:
+ self.tgp_port = int(os.environ["tgp_port"])
+
+ tux = TuxAPI(self.tgp_ip, self.tgp_port)
+
+ if self.tuxConnect():
+
+ if not self.tux.radio.getConnected():
+ plugin.throwMessage("I can't find my fish. Please, make sure
I'm connected.")
+
+ # Test if charger are plugged
+ elif not ( self.tux.status.requestOne('charger_state')[0] ==
'UNPLUGGED' ) :
+ plugin.throwMessage("Unplug my charger first and try again.")
+ else:
+ plugin.throwMessage("Looking for the brightest light source")
+ self.tux.eyes.open()
+ self.tux.flippers.up()
+ light = self.search() # search light up
+ self.stopSearch(light, int(time())) # stop
+ self.tux.flippers.down()
+
+ self.tux.access.release()
+ self.tux.server.disconnect()
+ self.tux.destroy()
+
+
+
+class MaxlightPlugin(SimplePlugin):
+ """This class override the SimplePlugin class to make easy
+ the plugin coding.
+ """
+
+ def __init__(self):
+ """Initialization of the class.
+ """
+ # Call the super class
+ SimplePlugin.__init__(self)
+ self.slight = Light(self)
+
+ def start(self):
+ """Plugin entry point.
+ This method should be used to dispatch commands.
+ """
+ self.run()
+
+
+ def run(self):
+ """Plugin entry point for the "run" command.
+ """
+ self.slight.startAll()
+
+ def onPluginStop(self):
+ """Callback on plugin stop.
+ """
+ pass
+
+ def onPluginEvent(self, eventName, eventValues):
+ """Callback on plugin event.
+ @param eventName: Event name.
+ @param eventValues: Event values.
+ """
+ pass
+
+if __name__ == "__main__":
+ plugin = MaxlightPlugin()
+ plugin.boot(sys.argv[1:], SimplePluginConfiguration())
Added: software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/en.po
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/en.po
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/en.po
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,25 @@
+
+msgid ""
+msgstr "Project-Id-Version: PACKAGE VERSION\nReport-Msgid-Bugs-To:
\nPOT-Creation-Date: 2009-05-12 11:58+0200\nPO-Revision-Date: 2009-05-12
11:59+0200\nLast-Translator: jerome <[email protected]>\nLanguage-Team:
LANGUAGE <[email protected]>\nLanguage: en\nMIME-Version: 1.0\nContent-Type:
text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPlural-Forms:
nplurals=2; plural=(n != 1);\nX-Generator: Pootle 1.2.1\n"
+
+msgid "Max Light Plugin"
+msgstr "Max Light Plugin"
+
+msgid "The Max Light plugin will make Tux Droid rotate towards the direction
of the brightest light source."
+msgstr "The Max Light plugin will make Tux Droid rotate towards the direction
of the brightest light source."
+
+msgid "I think most of the light is coming from this direction."
+msgstr "I think most of the light is coming from this direction."
+
+msgid "Unplug my charger first and try again."
+msgstr "Unplug my charger first and try again."
+
+msgid "Sorry, I'm not sure where the light is coming from"
+msgstr "Sorry, I'm not sure where the light is coming from"
+
+msgid "I can't find my fish. Please, make sure I'm connected."
+msgstr "I can't find my fish. Please, make sure I'm connected."
+
+msgid "Looking for the brightest light source"
+msgstr "Looking for the brightest light source"
+
Added: software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/en.wiki
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/en.wiki
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/en.wiki
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,3 @@
+== Synopsis ==
+The Max Light plugin will make Tux Droid rotate towards the brightest light
source.
+Also, make sure to unplug the charger so Tux Droid can spin while searching
for the light source.
\ No newline at end of file
Added: software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/es.po
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/es.po
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/es.po
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,25 @@
+
+msgid ""
+msgstr "Project-Id-Version: PACKAGE VERSION\nReport-Msgid-Bugs-To:
\nPOT-Creation-Date: 2009-05-12 11:58+0200\nPO-Revision-Date: 2009-05-14
14:46+0200\nLast-Translator: jerome <[email protected]>\nLanguage-Team:
LANGUAGE <[email protected]>\nLanguage: es\nMIME-Version: 1.0\nContent-Type:
text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPlural-Forms:
nplurals=2; plural=(n != 1);\nX-Generator: Pootle 1.2.1\n"
+
+msgid "Max Light Plugin"
+msgstr "Plugin Luz Maxima"
+
+msgid "The Max Light plugin will make Tux Droid rotate towards the direction
of the brightest light source."
+msgstr "El plugin de Luz Maxima hara que Tux Droid gire en la direccion desde
se encuentre la fuente de luz mas brillante."
+
+msgid "I think most of the light is coming from this direction."
+msgstr "Creo que la fuente de luz mas brillante viene de esta dirección."
+
+msgid "Unplug my charger first and try again."
+msgstr "Desconecte primero mi cargador e intentelo de nuevo."
+
+msgid "Sorry, I'm not sure where the light is coming from"
+msgstr "Lo sentimos, no estoy seguro de que la luz proviene"
+
+msgid "I can't find my fish. Please, make sure I'm connected."
+msgstr ""
+
+msgid "Looking for the brightest light source"
+msgstr "Buscando la fuente de luz mas brillante."
+
Added: software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/es.wiki
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/es.wiki
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/es.wiki
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,3 @@
+==Synopsis ==
+El gadget de Luz Maxima hará que Tux Droid gire hacia la fuente de luz mas
brillante.
+Asegurese tambien de desconectar el cargador para que Tux Droid pueda girar en
busca de la fuente de luz.
\ No newline at end of file
Added: software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/fr.po
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/fr.po
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/fr.po
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,25 @@
+
+msgid ""
+msgstr "Project-Id-Version: PACKAGE VERSION\nReport-Msgid-Bugs-To:
\nPOT-Creation-Date: 2009-05-12 11:58+0200\nPO-Revision-Date: 2009-05-12
12:04+0200\nLast-Translator: jerome <[email protected]>\nLanguage-Team:
LANGUAGE <[email protected]>\nLanguage: fr\nMIME-Version: 1.0\nContent-Type:
text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPlural-Forms:
nplurals=2; plural=(n > 1);\nX-Generator: Pootle 1.2.1\n"
+
+msgid "Max Light Plugin"
+msgstr "Plugin lumière maximum"
+
+msgid "The Max Light plugin will make Tux Droid rotate towards the direction
of the brightest light source."
+msgstr "Le plugin maxlight fera tourner Tux Droid pour trouver l'endroit le
plus lumineux."
+
+msgid "I think most of the light is coming from this direction."
+msgstr "Je pense que l'endroit le plus lumineux est ici."
+
+msgid "Unplug my charger first and try again."
+msgstr "Débranchez mon chargeur et essayez à nouveau."
+
+msgid "Sorry, I'm not sure where the light is coming from"
+msgstr "Désolé, je n'arrive pas à déterminer d'où vient la lumière."
+
+msgid "I can't find my fish. Please, make sure I'm connected."
+msgstr "Je ne trouve pas mon poisson, assurez vous que je soit connecté."
+
+msgid "Looking for the brightest light source"
+msgstr "Je cherche l'endroit le plus lumineux."
+
Added: software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/fr.wiki
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/fr.wiki
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/fr.wiki
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,3 @@
+==Synopsis==
+Le gadget lumière maximum fait tourner Tux Droid pour trouver l'endroit le
plus lumineux.
+Assurez vous d'avoir déconnecté le chargeur pour que Tux Droid puisse tourner.
\ No newline at end of file
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/help.wiki
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/help.wiki
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/help.wiki
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,3 @@
+== Synopsis ==
+The Max Light plugin will make Tux Droid rotate towards the brightest light
source.
+Also, make sure to unplug the charger so Tux Droid can spin while searching
for the light source.
Added: software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/nl.po
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/nl.po
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/nl.po
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,25 @@
+
+msgid ""
+msgstr "Project-Id-Version: PACKAGE VERSION\nReport-Msgid-Bugs-To:
\nPOT-Creation-Date: 2009-05-12 11:58+0200\nPO-Revision-Date: 2009-05-12
15:40+0200\nLast-Translator: Sebastiaan Vanpoucke
<[email protected]>\nLanguage-Team: LANGUAGE <[email protected]>\nLanguage:
nl\nMIME-Version: 1.0\nContent-Type: text/plain;
charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPlural-Forms: nplurals=2;
plural=(n != 1);\nX-Generator: Pootle 1.2.1\n"
+
+msgid "Max Light Plugin"
+msgstr "Max Licht Plugin"
+
+msgid "The Max Light plugin will make Tux Droid rotate towards the direction
of the brightest light source."
+msgstr "De Max Light plugin zal Tux Droid laten draaien in de richting van de
helderste lichtbron."
+
+msgid "I think most of the light is coming from this direction."
+msgstr "Ik denk dat het licht uit deze richting komt."
+
+msgid "Unplug my charger first and try again."
+msgstr "Koppel eerst de oplader los en probeer dan opnieuw."
+
+msgid "Sorry, I'm not sure where the light is coming from"
+msgstr "Sorry, ik kan de lichtbron niet vinden"
+
+msgid "I can't find my fish. Please, make sure I'm connected."
+msgstr "Ik kan mijn vis niet zien. Gelieve te controleren of de vis
geconnecteerd is"
+
+msgid "Looking for the brightest light source"
+msgstr "Ik ben nu aan het zoeken naar de helderste lichtbron."
+
Added: software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/nl.wiki
===================================================================
--- software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/nl.wiki
(rev 0)
+++ software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/nl.wiki
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,3 @@
+==Synopsis==
+De Max Light gadget zal Tux Droid laten draaien in de richting van de
helderste lichtbron.
+Vergeet niet de oplader los te koppelen zodat Tux Droid kan ronddraaien om de
lichtbron te zoeken.
\ No newline at end of file
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.png
===================================================================
(Binary files differ)
Property changes on:
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.pot
===================================================================
---
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.pot
(rev 0)
+++
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.pot
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,21 @@
+msgid "Max Light Plugin"
+msgstr ""
+
+msgid "The Max Light plugin will make Tux Droid rotate towards the direction
of the brightest light source."
+msgstr ""
+
+msgid "I think most of the light is coming from this direction."
+msgstr ""
+
+msgid "Unplug my charger first and try again."
+msgstr ""
+
+msgid "Sorry, I'm not sure where the light is coming from"
+msgstr ""
+
+msgid "I can't find my fish. Please, make sure I'm connected."
+msgstr ""
+
+msgid "Looking for the brightest light source"
+msgstr ""
+
Added:
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.xml
===================================================================
---
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.xml
(rev 0)
+++
software_suite_v3/software/plugin/plugin-maxlight/trunk/resources/plugin.xml
2009-06-29 08:15:41 UTC (rev 4926)
@@ -0,0 +1,24 @@
+<gadget>
+ <interpreter
+ kind="python">
+ <executable>executables/plugin-maxlight.py</executable>
+ </interpreter>
+ <description>
+ <name>Max Light Plugin</name>
+ <description>The Max Light plugin will make Tux Droid rotate
towards the direction of the brightest light source.</description>
+ <author>Eric Lescaudron</author>
+ <version>2.0</version>
+ <iconFile>resources/plugin.png</iconFile>
+ <executionMode>command</executionMode>
+ <uuid>c8a41dd3-ae21-4b1f-aea3-ba151bcbd903</uuid>
+ </description>
+ <parameters>
+ </parameters>
+ <commands>
+ <command
+ name="run"
+ description="Seeks maximum light" />
+ </commands>
+ <tasks>
+ </tasks>
+</gadget>
------------------------------------------------------------------------------
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn