[tuxdroid-svn] r4635 - in software_suite_v3/smart-core/smart-server/trunk: data/plugins resources/
Status: Beta
Brought to you by:
ks156
|
From: remi <c2m...@c2...> - 2009-05-05 13:55:01
|
Author: remi
Date: 2009-05-05 15:54:49 +0200 (Tue, 05 May 2009)
New Revision: 4635
Removed:
software_suite_v3/smart-core/smart-server/trunk/data/plugins/tuxdroid-gadget-pySkeleton.tpg
software_suite_v3/smart-core/smart-server/trunk/resources/01_robot_system/resourceGadgetFramework.py
software_suite_v3/smart-core/smart-server/trunk/resources/03_advanced_api/resourceTaskCreation.py
software_suite_v3/smart-core/smart-server/trunk/resources/03_advanced_api/resourceUserConfiguration.py
software_suite_v3/smart-core/smart-server/trunk/util/applicationserver/gadget/
Modified:
software_suite_v3/smart-core/smart-server/trunk/resources/04_web_interface/resourceWIPlugin.py
Log:
* removed old gadget lib
* removed useless resources
* disable web interface resource
* removed fake plugin
(preparing to implement to new plugin/gadget philosophy)
Deleted: software_suite_v3/smart-core/smart-server/trunk/data/plugins/tuxdroid-gadget-pySkeleton.tpg
===================================================================
(Binary files differ)
Deleted: software_suite_v3/smart-core/smart-server/trunk/resources/01_robot_system/resourceGadgetFramework.py
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/resources/01_robot_system/resourceGadgetFramework.py 2009-05-05 08:17:32 UTC (rev 4634)
+++ software_suite_v3/smart-core/smart-server/trunk/resources/01_robot_system/resourceGadgetFramework.py 2009-05-05 13:54:49 UTC (rev 4635)
@@ -1,926 +0,0 @@
-# ==============================================================================
-# Gadget framework resource.
-# ==============================================================================
-
-from util.applicationserver.gadget.GadgetsContainer import GadgetsContainer
-from util.applicationserver.gadget.Gadget import SUPPORTED_LANGUAGES_LIST
-from util.applicationserver.gadget.ConfiguredGadget import *
-from util.applicationserver.gadget.WebGadgetTools import WebGadgetTools
-from util.misc.tuxPaths import TUXDROID_LANGUAGE
-from util.misc.tuxPaths import TUXDROID_DEFAULT_LOCUTOR
-from util.misc.tuxPaths import USER_BASE_PATH
-from util.logger.SimpleLogger import *
-
-# Framework events/statuses
-ST_NAME_FW_RUN = "framework_run"
-ST_NAME_FW_CONTAINER_DEPLOYED = "framework_container_deployed"
-ST_NAME_FW_CONTAINER_ERROR = "framework_container_error"
-ST_NAME_FW_GADGET_LOADED = "framework_gadget_loaded"
-ST_NAME_FW_GADGET_UNLOADED = "framework_gadget_unloaded"
-ST_NAME_FW_GADGET_MESSAGE = "framework_gadget_message"
-ST_NAME_FW_GADGET_ERROR = "framework_gadget_error"
-ST_NAME_FW_GADGET_TRACE = "framework_gadget_trace"
-ST_NAME_FW_GADGET_RESULT = "framework_gadget_result"
-ST_NAME_FW_GADGET_NOTIFICATION = "framework_gadget_notification"
-ST_NAME_FW_GADGET_STARTING = "framework_gadget_starting"
-ST_NAME_FW_GADGET_STOPPED = "framework_gadget_stopped"
-ST_NAME_FW_CONFIGURATIONS_LOADED = "framework_configurations_loaded"
-ST_NAME_FW_CONFIGURATIONS_UNLOADED = "framework_configurations_unloaded"
-
-# Framework events/statuses list
-SW_NAME_FRAMEWORK = [
- ST_NAME_FW_RUN, # Is sent to clients
- ST_NAME_FW_CONTAINER_DEPLOYED, # Is sent to clients
- ST_NAME_FW_CONTAINER_ERROR, # Is not sent to clients
- ST_NAME_FW_GADGET_LOADED, # Is not sent to clients
- ST_NAME_FW_GADGET_UNLOADED, # Is not sent to clients
- ST_NAME_FW_GADGET_MESSAGE, # Is not sent to clients
- ST_NAME_FW_GADGET_ERROR, # Is not sent to clients
- ST_NAME_FW_GADGET_TRACE, # Is not sent to clients
- ST_NAME_FW_GADGET_RESULT, # Is not sent to clients
- ST_NAME_FW_GADGET_NOTIFICATION, # Is not sent to clients
- ST_NAME_FW_GADGET_STARTING, # Is sent to clients
- ST_NAME_FW_GADGET_STOPPED, # Is sent to clients
- ST_NAME_FW_CONFIGURATIONS_LOADED, # Is sent to clients
- ST_NAME_FW_CONFIGURATIONS_UNLOADED, # Is sent to clients
-]
-
-# ------------------------------------------------------------------------------
-# Declaration of the resource "gadget_framework".
-# ------------------------------------------------------------------------------
-class TDSResourceGadgetFramework(TDSResource):
-
- # --------------------------------------------------------------------------
- # Inherited methods from TDSResource
- # --------------------------------------------------------------------------
-
- def configure(self):
- self.name = "gadget_framework"
- self.comment = "Resource to manage the gadget framework."
- self.fileName = RESOURCE_FILENAME
- # Create a gadgets container
- self.__gadgetsContainer = GadgetsContainer()
- self.__gadgetsContainer.setOnDirectoryDeployedCallback(self.__onDirectoryDeployed)
- self.__gadgetsContainer.setOnDirectoryUndeployedCallback(self.__onDirectoryUndeployed)
- self.__gadgetsContainer.setOnGadgetDeployedCallback(self.__onGadgetDeployed)
- self.__gadgetsContainer.setOnGadgetDeploymentErrorCallback(self.__onGadgetDeploymentError)
- self.__gadgetsContainer.setOnGadgetUndeployedCallback(self.__onGadgetUndeployed)
- self.__gadgetsContainer.setOnConfigurationsLoadedCallback(self.__onConfigurationsLoaded)
- self.__gadgetsContainer.setOnConfigurationsUnloadedCallback(self.__onConfigurationsUnloaded)
- # Registering the framework statuses.
- for statusName in SW_NAME_FRAMEWORK:
- eventsHandler.insert(statusName)
- eventsHandler.getEventHandler(ST_NAME_FW_RUN).updateState("False")
- # Create a logger
- self.logger = SimpleLogger("gadget_framework")
- self.logger.resetLog()
- self.logger.setLevel(LOG_LEVEL_DEBUG)
- self.logger.setTarget(LOG_TARGET_FILE)
- self.logger.logInfo("-----------------------------------------------")
- self.logger.logInfo("Tux Droid Gadget Framework")
- self.logger.logInfo("Licence : GPL")
- self.logger.logInfo("-----------------------------------------------")
-
- def stop(self):
- self.logger.logInfo("Undeploy the gadgets container")
- self.__gadgetsContainer.undeploy()
- self.__publishEvents(True, ST_NAME_FW_RUN, ["False",])
-
- # --------------------------------------------------------------------------
- # Gadget container events
- # --------------------------------------------------------------------------
-
- def __onDirectoryDeployed(self, observerName):
- self.logger.logInfo("Directory deployed [%s]" % observerName)
- self.__publishEvents(True, ST_NAME_FW_CONTAINER_DEPLOYED, ["True",])
-
- def __onDirectoryUndeployed(self, observerName):
- self.logger.logInfo("Directory undeployed [%s]" % observerName)
- self.__publishEvents(True, ST_NAME_FW_CONTAINER_DEPLOYED, ["False",])
-
- def __onGadgetDeployed(self, gadget, gadgetWorkingPath):
- uuid = gadget.getDescription().getUuid()
- pngUrl = '/%s/gadget.png' % uuid
- resourcesManager.addFileToServe(gadget.getDescription().getIconFile(),
- pngUrl)
- for language in SUPPORTED_LANGUAGES_LIST:
- helpFile = gadget.getDescription().getHelpFile(language)
- fileName = helpFile[helpFile.rfind(os.sep) + 1:]
- helpUrl = '/%s/%s' % (uuid, fileName)
- resourcesManager.addFileToServe(helpFile, helpUrl)
- googleGadgetUrl = '/%s/google_gadget_code.txt' % uuid
- googleGadgetCode = WebGadgetTools.generateGoogleGadgetCode(gadget,
- "/gadget_framework/web_gadget?",
- gadget.getCommands()[0].getName(), {})
- resourcesManager.addContentToServe(googleGadgetCode,
- googleGadgetUrl)
- gadget.setOnGadgetNotificationCallback(self.__onGadgetNotification)
- gadget.setOnGadgetMessageCallback(self.__onGadgetMessage)
- gadget.setOnGadgetErrorCallback(self.__onGadgetError)
- gadget.setOnGadgetTraceCallback(self.__onGadgetTrace)
- gadget.setOnGadgetResultCallback(self.__onGadgetResult)
- gadget.setOnGadgetStartingCallback(self.__onGadgetStarting)
- gadget.setOnGadgetStoppedCallback(self.__onGadgetStopped)
- self.logger.logDebug("Gadget deployed [%s] to [%s]" % (
- gadget.getDescription().getName(), gadgetWorkingPath))
- self.__publishEvents(False, ST_NAME_FW_GADGET_LOADED, [uuid,])
-
- def __onGadgetDeploymentError(self, observerName, gadgetFileName, message):
- messagesList = [
- observerName,
- gadgetFileName,
- message,
- ]
- self.logger.logWarning("Gadget deployment error [%s, %s] to (%s)" % (
- observerName, gadgetFileName, message))
- self.__publishEvents(False, ST_NAME_FW_CONTAINER_ERROR, messagesList)
-
- def __onGadgetUndeployed(self, gadget, gadgetWorkingPath):
- uuid = gadget.getDescription().getUuid()
- pngUrl = '/%s/gadget.png' % uuid
- resourcesManager.removeFileToServe(pngUrl)
- for language in SUPPORTED_LANGUAGES_LIST:
- helpFile = gadget.getDescription().getHelpFile(language)
- fileName = helpFile[helpFile.rfind(os.sep) + 1:]
- helpUrl = '/%s/%s' % (uuid, fileName)
- resourcesManager.removeFileToServe(helpUrl)
- googleGadgetUrl = '/%s/google_gadget_code.txt' % uuid
- resourcesManager.removeFileToServe(googleGadgetUrl)
- self.logger.logDebug("Gadget undeployed [%s] to [%s]" % (
- gadget.getDescription().getName(), gadgetWorkingPath))
- self.__publishEvents(False, ST_NAME_FW_GADGET_UNLOADED, [uuid,])
-
- # --------------------------------------------------------------------------
- # Gadget events
- # --------------------------------------------------------------------------
-
- def __onGadgetNotification(self, gadget, instanceParameters, messageId, *args):
- messageStr = ""
- for message in args:
- messageStr += message
- uuid = gadget.getDescription().getUuid()
- locutor = instanceParameters['locutor']
- pitch = instanceParameters['pitch']
- self.logger.logDebug("Gadget NOTIFICATION [%s] (%s : %s)" % (
- gadget.getDescription().getName(), messageId, messageStr))
- self.__publishEvents(False, ST_NAME_FW_GADGET_NOTIFICATION, [uuid, "0",
- locutor, pitch, messageId, messageStr])
-
- def __onGadgetMessage(self, gadget, instanceParameters, message):
- uuid = gadget.getDescription().getUuid()
- locutor = instanceParameters['locutor']
- pitch = instanceParameters['pitch']
- self.logger.logDebug("Gadget MESSAGE [%s] (%s)" % (
- gadget.getDescription().getName(), message))
- self.__publishEvents(False, ST_NAME_FW_GADGET_MESSAGE, [uuid, "0",
- locutor, pitch, message])
-
- def __onGadgetError(self, gadget, instanceParameters, *messagesList):
- messageStr = ""
- for message in messagesList:
- messageStr += message
- self.logger.logError("Gadget ERROR [%s] (%s)" % (
- gadget.getDescription().getName(), messageStr))
- self.__publishEvents(False, ST_NAME_FW_GADGET_ERROR, [
- gadget.getDescription().getUuid(), "0", messageStr])
-
- def __onGadgetTrace(self, gadget, instanceParameters, *messagesList):
- messageStr = ""
- for message in messagesList:
- messageStr += message
- self.logger.logDebug("Gadget TRACE [%s] (%s)" % (
- gadget.getDescription().getName(), messageStr))
- self.__publishEvents(False, ST_NAME_FW_GADGET_TRACE, [
- gadget.getDescription().getUuid(), "0", messageStr])
-
- def __onGadgetResult(self, gadget, instanceParameters, gadgetResult):
- self.logger.logDebug("Gadget RESULT [%s] (%s)" % (
- gadget.getDescription().getName(), str(gadgetResult)))
- self.__publishEvents(False, ST_NAME_FW_GADGET_RESULT, [
- gadget.getDescription().getUuid(), "0", str(gadgetResult)])
-
- def __onGadgetStarting(self, gadget, instanceParameters, instanceCommand,
- instanceIsDaemon):
- uuid = gadget.getDescription().getUuid()
- self.logger.logInfo("Gadget starting [%s] (%s)" % (
- gadget.getDescription().getName(), str(instanceParameters)))
- self.__publishEvents(True, ST_NAME_FW_GADGET_STARTING, [uuid, "FW"])
-
- def __onGadgetStopped(self, gadget, instanceParameters, instanceCommand,
- instanceIsDaemon):
- uuid = gadget.getDescription().getUuid()
- if instanceIsDaemon:
- self.logger.logInfo("Gadget stopped [%s]" % (
- gadget.getDescription().getName()))
- self.__publishEvents(True, ST_NAME_FW_GADGET_STOPPED, [uuid, "FW"])
- self.__publishEvents(True, ST_NAME_FW_GADGET_STOPPED, [uuid, "TTS"])
- else:
- self.__publishEvents(True, ST_NAME_FW_GADGET_STOPPED, [uuid, "FW"])
-
- def __onConfigurationsLoaded(self):
- self.__publishEvents(True, ST_NAME_FW_CONFIGURATIONS_LOADED, ["True",])
-
- def __onConfigurationsUnloaded(self):
- self.__publishEvents(True, ST_NAME_FW_CONFIGURATIONS_UNLOADED,
- ["True",])
-
- # --------------------------------------------------------------------------
- # Private methods
- # --------------------------------------------------------------------------
-
- def __publishEvents(self, sendToClients, eventName, eventValues = []):
- def async():
- values = ""
- for value in eventValues:
- values += value + ":"
- if len(values) > 0:
- values = values[:-1]
- eventStruct = {
- 'name' : eventName,
- 'value' : values,
- 'delay' : "0.0",
- 'type' : "string"
- }
- if sendToClients:
- clientsManager.pushEvents([eventStruct,])
- eventsHandler.emit(eventName, (values, 0.0))
- t = threading.Thread(target = async)
- t.start()
-
- # --------------------------------------------------------------------------
- # Shared methods
- # --------------------------------------------------------------------------
-
- def publishEvents(self, sendToClients, eventName, eventValues = []):
- """
- """
- self.__publishEvents(sendToClients, eventName, eventValues)
-
- def getGadgetsContainer(self):
- """Get the gadgets container.
- @return: The gadgets container.
- """
- return self.__gadgetsContainer
-
- def insertGadgetInContainer(self, tgfFilename):
- """Insert a gadget in the framework container.
- @param tgfFilename: TGF gadget file name.
- @return: The success.
- - tgfFilename can be a local file or an external file (URL)
- - After the success of the gadget insertion the framework will detected it.
- """
- # Check that the framework is started
- if not self.__gadgetsContainer.isDeployed():
- return False
- # Check that the container directory is selected
- directories = self.__gadgetsContainer.getDirectories()
- if len(directories) == 0:
- return False
- directory = directories[-1]
- # Check the file extension
- if tgfFilename.lower().rfind(".tgf") == -1:
- return False
- # Create a cached file with the gadget file
- cFile = filesCacheManager.createFileCache(tgfFilename)
- # If the gadget can't be cached then FAIL
- if cFile == None:
- return False
- # Copy the gadget in the container directory
- result = True
- import shutil
- try:
- tfgName = os.path.split(tgfFilename)[-1]
- tfgName = os.path.join(directory, tfgName)
- shutil.copy(cFile.getOutputFilePath(), tfgName)
- except:
- result = False
- filesCacheManager.destroyFileCache(cFile)
- return result
-
- def removeGadgetFromContainer(self, gadgetUuid):
- """Remove a gadget from the framework container.
- @param gadgetUuid: Gadget uuid.
- @return: The success.
- """
- # Check that the framework is started
- if not self.__gadgetsContainer.isDeployed():
- return False
- for gadget in self.__gadgetsContainer.getGadgets():
- if gadget.getDescription().getUuid() == gadgetUuid:
- if gadget.isConfiguration():
- self.__gadgetsContainer.removeConfiguration(gadget)
- else:
- tgfFile = gadget.getTgfFile()
- # Remove the tfg file
- DirectoriesAndFilesTools.RMFile(tgfFile)
- self.__gadgetsContainer.removeConfigurationsByOriginalGadgetUuid(gadgetUuid)
- return True
- return False
-
- def createConfiguration(self, gadgetUuid, parameters, name,
- hiddenParameters):
- """Create a configuration of a gadget.
- @param gadgetUuid: Gadget uuid.
- @param parameters: Parameters.
- @param name: Name of the configured gadget.
- @param hiddenParameters: Hidden parameters list.
- @return: The success.
- """
- gadget = self.__gadgetsContainer.getGadgetByUuid(gadgetUuid)
- if gadget != None:
- configuredGadget = ConfiguredGadget.createConfiguredGadget(gadget,
- parameters, name, hiddenParameters)
- self.__gadgetsContainer.insertConfiguration(configuredGadget)
- return True
- else:
- return False
-
- def updateConfigurationName(self, gadgetUuid, name):
- """Update the name of a configured gadget.
- @param gadgetUuid: Gadget uuid.
- @param name: Name of the configured gadget.
- @return: The success.
- """
- gadget = self.__gadgetsContainer.getGadgetByUuid(gadgetUuid)
- if gadget != None:
- if not gadget.isConfiguration():
- return False
- gadget.updateName(name)
- self.__gadgetsContainer.storeConfiguration(gadget)
- self.__publishEvents(True, ST_NAME_FW_CONFIGURATIONS_LOADED,
- ["True",])
- return True
- else:
- return False
-
- def updateConfigurationParameters(self, gadgetUuid, parameters,
- hiddenParameters):
- """Update the parameters of a configured gadget.
- @param gadgetUuid: Gadget uuid.
- @param parameters: Parameters.
- @param hiddenParameters: Hidden parameters list.
- @return: The success.
- """
- gadget = self.__gadgetsContainer.getGadgetByUuid(gadgetUuid)
- if gadget != None:
- if not gadget.isConfiguration():
- return False
- gadget.updateParameters(parameters, hiddenParameters)
- self.__gadgetsContainer.storeConfiguration(gadget)
- self.__publishEvents(True, ST_NAME_FW_CONFIGURATIONS_LOADED,
- ["True",])
- return True
- else:
- return False
-
- def startGadget(self, gadgetUuid, command, parameters):
- """Start a gadget.
- @param gadgetUuid: Gadget uuid.
- @param command: Command.
- @param parameters: Parameters.
- @return: True or False.
- """
- gadget = self.__gadgetsContainer.getGadgetByUuid(gadgetUuid)
- if gadget != None:
- return gadget.start(command, parameters)
- else:
- return False
-
- def stopGadget(self, gadgetUuid):
- """Stop a gadget.
- @param gadgetUuid: Gadget uuid.
- """
- gadget = self.__gadgetsContainer.getGadgetByUuid(gadgetUuid)
- if gadget != None:
- gadget.stop()
-
-# Create an instance of the resource
-resourceGadgetFramework = TDSResourceGadgetFramework("resourceGadgetFramework")
-# Register the resource into the resources manager
-resourcesManager.addResource(resourceGadgetFramework)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "start".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkStart(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'gadgets_path' : 'string',
- 'configurations_path' : 'string',
- 'language' : 'string',
- 'country' : 'string',
- 'locutor' : 'string',
- 'pitch' : 'uint8',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "start"
- self.comment = "Start the gadget framework."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- # Check the directory
- if not os.path.isdir(parameters['gadgets_path']):
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- else:
- # Start the framework
- gadgetsContainer = resourceGadgetFramework.getGadgetsContainer()
- resourceGadgetFramework.publishEvents(True, ST_NAME_FW_RUN,
- ["False",])
- resourceGadgetFramework.logger.logInfo("Undeploy the gadgets container.")
- gadgetsContainer.undeploy()
- resourceGadgetFramework.logger.logInfo("Gadgets container is undeployed.")
- for directory in gadgetsContainer.getDirectories():
- resourceGadgetFramework.logger.logInfo("Remove directory from the container [%s]." %\
- directory)
- gadgetsContainer.removeDirectory(directory)
- resourceGadgetFramework.logger.logInfo("Set locales [%s:%s:%s:%s]." % (
- parameters['language'], parameters['country'],
- parameters['locutor'], parameters['pitch']))
- gadgetsContainer.setLocales(parameters['language'],
- parameters['country'], parameters['locutor'],
- parameters['pitch'])
- resourceGadgetFramework.logger.logInfo("Add directory in the container [%s]." %\
- parameters['gadgets_path'])
- gadgetsContainer.addDirectory(parameters['gadgets_path'])
- resourceGadgetFramework.logger.logInfo("Deploy the gadgets container.")
- gadgetsContainer.deploy()
- resourceGadgetFramework.logger.logInfo("Gadgets container is deployed.")
- # Load the configurations
- gadgetsContainer.loadConfigurations(parameters['configurations_path'])
- resourceGadgetFramework.publishEvents(True, ST_NAME_FW_RUN,
- ["True",])
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkStart)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "update_locales".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkUpdateLocales(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'language' : 'string',
- 'country' : 'string',
- 'locutor' : 'string',
- 'pitch' : 'uint8',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "update_locales"
- self.comment = "Update the locale values of the framework and reload the gadgets."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- gadgetsContainer = resourceGadgetFramework.getGadgetsContainer()
- gadgetsContainer.setLocales(parameters['language'],
- parameters['country'], parameters['locutor'], parameters['pitch'])
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkUpdateLocales)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "gadgets_infos".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkGadgetsInfos(TDSService):
-
- def configure(self):
- self.parametersDict = {}
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "gadgets_infos"
- self.comment = "Get the informations from all gadgets."
- self.haveXsl = True
- self.xslPath = "/data/xsl/gadgets.xsl"
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- gadgets = resourceGadgetFramework.getGadgetsContainer().getGadgets()
- gadgetsNameList = []
- for gadget in gadgets:
- gadgetsNameList.append(gadget.getDescription().getName())
- gadgetsNameList.sort()
- for i, gadgetName in enumerate(gadgetsNameList):
- gadget = resourceGadgetFramework.getGadgetsContainer().getGadgetByName(gadgetName)
- d_name = "data|%.3d" % i
- structure = WebGadgetTools.generateWebGadgetStructure(gadget,
- '/gadget_framework/web_gadget?',
- gadget.getDefaultRunCommandName(), {}, [])
- structure['commands'] = {}
- for j, command in enumerate(gadget.getCommands()):
- c_name = "command_%.3d" % j
- structure['commands'][c_name] = {}
- structure['commands'][c_name]['name'] = command.getName()
- structure['commands'][c_name]['translated_name'] = command.getTranslatedName()
- structure['commands'][c_name]['description'] = command.getDescription()
- contentStruct['root'][d_name] = structure
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkGadgetsInfos)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "all_of_frames".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkAllOfFrames(TDSService):
-
- def configure(self):
- self.parametersDict = {}
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "all_of_frames"
- self.comment = "Show all web gadgets."
- self.haveXsl = True
- self.xslPath = "/data/xsl/gadgets_all_of_frames.xsl"
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- gadgets = resourceGadgetFramework.getGadgetsContainer().getGadgets()
- for i, gadget in enumerate(gadgets):
- d_name = "data|%d" % i
- structure = WebGadgetTools.generateWebGadgetStructure(gadget,
- '/gadget_framework/web_gadget?',
- gadget.getDefaultRunCommandName(), {}, [])
- #del structure['command']
- structure['commands'] = {}
- for j, command in enumerate(gadget.getCommands()):
- c_name = "command_%.3d" % j
- structure['commands'][c_name] = {}
- structure['commands'][c_name]['name'] = command.getName()
- structure['commands'][c_name]['translated_name'] = command.getTranslatedName()
- structure['commands'][c_name]['description'] = command.getDescription()
- contentStruct['root'][d_name] = structure
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkAllOfFrames)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "web_gadget".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkWebGadget(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'uuid' : 'string',
- 'command' : 'string',
- 'parameters' : 'string',
- 'hiddenlist' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "web_gadget"
- self.comment = "Web view of a gadget."
- self.haveXsl = True
- self.xslPath = "/data/xsl/web_gadget.xsl"
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- splParams = parameters['parameters'].split("|")
- params = {}
- for paramStruct in splParams:
- param = paramStruct.split("=")
- if len(param) == 2:
- params[param[0]] = param[1]
- hList = parameters['hiddenlist'].split("|")
- uuid = parameters['uuid']
- gadget = resourceGadgetFramework.getGadgetsContainer().getGadgetByUuid(uuid)
- structure = None
- if gadget != None:
- structure = WebGadgetTools.generateWebGadgetStructure(gadget,
- '/gadget_framework/web_gadget?', parameters['command'], params,
- hList)
- if structure == None:
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- else:
- contentStruct['root']['data'] = structure
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkWebGadget)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "start_gadget_by_uuid".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkStartGadgetByUuid(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'uuid' : 'string',
- 'command' : 'string',
- 'parameters' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "start_gadget_by_uuid"
- self.comment = "Start a gadget by it uuid."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- uuid = parameters['uuid']
- command = parameters['command']
- params = {}
- splParams = parameters['parameters'].split("|")
- for paramStruct in splParams:
- param = paramStruct.split("=")
- if len(param) == 2:
- params[param[0]] = param[1]
- gadgetStarted = False
- gadget = resourceGadgetFramework.getGadgetsContainer().getGadgetByUuid(uuid)
- if gadget != None:
- gadgetStarted = gadget.start(command, params)
- if not gadgetStarted:
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkStartGadgetByUuid)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "start_gadget_by_name".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkStartGadgetByName(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'name' : 'string',
- 'command' : 'string',
- 'parameters' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "start_gadget_by_name"
- self.comment = "Start a gadget by it name."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- name = parameters['name']
- command = parameters['command']
- params = {}
- splParams = parameters['parameters'].split("|")
- for paramStruct in splParams:
- param = paramStruct.split("=")
- if len(param) == 2:
- params[param[0]] = param[1]
- gadgetStarted = False
- gadget = resourceGadgetFramework.getGadgetsContainer().getGadgetByName(name)
- if gadget != None:
- gadgetStarted = gadget.start(command, params)
- if not gadgetStarted:
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkStartGadgetByName)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "stop_gadget_by_uuid".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkStopGadgetByUuid(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'uuid' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "stop_gadget_by_uuid"
- self.comment = "Stop a gadget by it uuid."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- uuid = parameters['uuid']
- gadget = resourceGadgetFramework.getGadgetsContainer().getGadgetByUuid(uuid)
- if gadget != None:
- gadget.stop()
- resourceTTS.stackRemoveByUuid(uuid)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkStopGadgetByUuid)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "stop_gadget_by_name".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkStopGadgetByName(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'name' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "stop_gadget_by_name"
- self.comment = "Stop a gadget by it name."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- name = parameters['name']
- gadgetStopped = False
- gadget = resourceGadgetFramework.getGadgetsContainer().getGadgetByName(name)
- if gadget != None:
- gadget.stop()
- resourceTTS.stackRemoveByUuid(gadget.getDescription().getUuid())
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkStopGadgetByName)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "stop_all_gadgets".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkStopAllGadgets(TDSService):
-
- def configure(self):
- self.parametersDict = {}
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "stop_all_gadgets"
- self.comment = "Stop all started gadgets."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- resourceGadgetFramework.getGadgetsContainer().stopAllGadgets()
- resourceTTS.stackFlushExceptedUuid("0")
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkStopAllGadgets)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "insert_gadget".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkInsertGadget(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'path' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = True
- self.name = "insert_gadget"
- self.comment = "Insert a gadget in the container."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- if not resourceGadgetFramework.insertGadgetInContainer(
- parameters['path']):
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkInsertGadget)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "remove_gadget".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkRemoveGadget(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'uuid' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = True
- self.name = "remove_gadget"
- self.comment = "Remove a gadget from the container."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- if not resourceGadgetFramework.removeGadgetFromContainer(
- parameters['uuid']):
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkRemoveGadget)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "create_configuration".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkCreateConfiguration(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'uuid' : 'string',
- 'parameters' : 'string',
- 'name' : 'string',
- 'hiddenParameters' : 'string'
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "create_configuration"
- self.comment = "Create a configuration of gadget."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- uuid = parameters['uuid']
- params = {}
- splParams = parameters['parameters'].split("|")
- for paramStruct in splParams:
- param = paramStruct.split("=")
- if len(param) == 2:
- params[param[0]] = param[1]
- hiddenParameters = parameters['hiddenParameters'].split("|")
- name = parameters['name']
- if not resourceGadgetFramework.createConfiguration(uuid, params,
- name, hiddenParameters):
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkCreateConfiguration)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "update_configuration_name".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkUpdateConfigurationName(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'uuid' : 'string',
- 'name' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "update_configuration_name"
- self.comment = "Update the name of a configuration."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- uuid = parameters['uuid']
- name = parameters['name']
- if not resourceGadgetFramework.updateConfigurationName(uuid, name):
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkUpdateConfigurationName)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "update_configuration_parameters".
-# ------------------------------------------------------------------------------
-class TDSServiceGadgetFrameworkUpdateConfigurationParameters(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'uuid' : 'string',
- 'parameters' : 'string',
- 'hiddenParameters' : 'string'
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "update_configuration_parameters"
- self.comment = "Update the parameters of a configuration."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- uuid = parameters['uuid']
- params = {}
- splParams = parameters['parameters'].split("|")
- for paramStruct in splParams:
- param = paramStruct.split("=")
- if len(param) == 2:
- params[param[0]] = param[1]
- hiddenParameters = parameters['hiddenParameters'].split("|")
- if not resourceGadgetFramework.updateConfigurationParameters(uuid,
- params, hiddenParameters):
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceGadgetFramework.addService(TDSServiceGadgetFrameworkUpdateConfigurationParameters)
Deleted: software_suite_v3/smart-core/smart-server/trunk/resources/03_advanced_api/resourceTaskCreation.py
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/resources/03_advanced_api/resourceTaskCreation.py 2009-05-05 08:17:32 UTC (rev 4634)
+++ software_suite_v3/smart-core/smart-server/trunk/resources/03_advanced_api/resourceTaskCreation.py 2009-05-05 13:54:49 UTC (rev 4635)
@@ -1,247 +0,0 @@
-# ==============================================================================
-# Task creation resource.
-# ==============================================================================
-
-# ------------------------------------------------------------------------------
-# Declaration of the resource "task_creation".
-# ------------------------------------------------------------------------------
-class TDSResourceTaskCreation(TDSResource):
-
- # --------------------------------------------------------------------------
- # Inherited methods from TDSResource
- # --------------------------------------------------------------------------
-
- def configure(self):
- self.name = "task_creation"
- self.comment = "Resource to create a scheduled tasks."
- self.fileName = RESOURCE_FILENAME
-
- # --------------------------------------------------------------------------
- # Public methods
- # --------------------------------------------------------------------------
-
- def createTaskStartGadget(self, gadgetUuid, gadgetCommand, gadgetParameters,
- taskType, taskName, weekMask, date, hoursBegin, hoursEnd, delay):
- """Create a task to start a gadget.
- @param gadgetUuid: Gadget uuid.
- @param gadgetCommand: Gadget command.
- @param gadgetParameters: Gadget parameters.
- @param taskType: <EVERY X|EVERY X FROM FULL HOUR|DAILY AT|ONCE AT|
- ONCE DELAYED>
- @param taskName: Task name.
- @param weekMask: Week mask. [True, True, True, True, True, True, True]
- @param date: Date. [Year, Month, Day]
- @param hoursBegin: Hours begin. [Hour, Minute, Second]
- @param hoursEnd: Hours end. [Hour, Minute, Second]
- @param delay: Delay. [Hour, Minute, Second]
- """
- command = "resourceGadgetFramework.startGadget"
- arguments = (gadgetUuid, gadgetCommand, gadgetParameters)
- data = {
- 'commandType' : 'gadget_start',
- 'uuid' : gadgetUuid,
- 'command' : gadgetCommand,
- 'parameters' : gadgetParameters,
- }
- return resourceScheduler.createTask(command, arguments, taskType,
- taskName, weekMask, date, hoursBegin, hoursEnd, delay, data)
-
- def createTaskStopGadget(self, gadgetUuid, taskType, taskName, weekMask,
- date, hoursBegin, hoursEnd, delay):
- """Create a sheduled task to stop a gadget.
- @param gadgetUuid: Gadget uuid.
- @param taskType: <EVERY X|EVERY X FROM FULL HOUR|DAILY AT|ONCE AT|
- ONCE DELAYED>
- @param taskName: Task name.
- @param weekMask: Week mask. [True, True, True, True, True, True, True]
- @param date: Date. [Year, Month, Day]
- @param hoursBegin: Hours begin. [Hour, Minute, Second]
- @param hoursEnd: Hours end. [Hour, Minute, Second]
- @param delay: Delay. [Hour, Minute, Second]
- """
- command = "resourceGadgetFramework.stopGadget"
- arguments = (gadgetUuid,)
- data = {
- 'commandType' : 'gadget_stop',
- 'uuid' : gadgetUuid,
- }
- return resourceScheduler.createTask(command, arguments, taskType,
- taskName, weekMask, date, hoursBegin, hoursEnd, delay, data)
-
- def createTaskPlayAttitune(self, attituneName, taskType, taskName, weekMask,
- date, hoursBegin, hoursEnd, delay):
- """Create a task to start an attitune.
- @param attituneName: Attitune name.
- @param taskType: <EVERY X|EVERY X FROM FULL HOUR|DAILY AT|ONCE AT|
- ONCE DELAYED>
- @param taskName: Task name.
- @param weekMask: Week mask. [True, True, True, True, True, True, True]
- @param date: Date. [Year, Month, Day]
- @param hoursBegin: Hours begin. [Hour, Minute, Second]
- @param hoursEnd: Hours end. [Hour, Minute, Second]
- @param delay: Delay. [Hour, Minute, Second]
- """
- command = "resourceAttituneManager.playAttitune"
- arguments = (attituneName, 0.0)
- data = {
- 'commandType' : 'attitune_play',
- 'attituneName' : attituneName,
- }
- return resourceScheduler.createTask(command, arguments, taskType,
- taskName, weekMask, date, hoursBegin, hoursEnd, delay, data)
-
-# Create an instance of the resource
-resourceTaskCreation = TDSResourceTaskCreation("resourceTaskCreation")
-# Register the resource into the resources manager
-resourcesManager.addResource(resourceTaskCreation)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "start_gadget".
-# ------------------------------------------------------------------------------
-class TDSServiceTaskCreationStartGadgetTask(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'gadget_uuid' : 'string',
- 'gadget_command' : 'string',
- 'gadget_parameters' : 'string',
- 'task_type' : '<EVERY X|EVERY X FROM FULL HOUR|DAILY AT|ONCE AT|ONCE DELAYED>',
- 'task_name' : 'string',
- 'week_mask' : 'string',
- 'date' : 'string',
- 'hoursBegin' : 'string',
- 'hoursEnd' : 'string',
- 'delay' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "start_gadget"
- self.comment = "Create a scheduled task to start a gadget."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- gadgetUuid = parameters['gadget_uuid']
- gadgetCommand = parameters['gadget_command']
- gadgetParameters = {}
- splParams = parameters['gadget_parameters'].split("|")
- for paramStruct in splParams:
- param = paramStruct.split("=")
- if len(param) == 2:
- gadgetParameters[param[0]] = param[1]
- taskType = parameters['task_type']
- taskName = parameters['task_name']
- weekMask = resourceScheduler.weekMaskStringToList(parameters['week_mask'])
- date = resourceScheduler.dateStringToList(parameters['date'])
- hoursBegin = resourceScheduler.timeStringToList(parameters['hoursBegin'])
- hoursEnd = resourceScheduler.timeStringToList(parameters['hoursEnd'])
- delay = resourceScheduler.timeStringToList(parameters['delay'])
- id, name = resourceTaskCreation.createTaskStartGadget(gadgetUuid,
- gadgetCommand, gadgetParameters, taskType, taskName, weekMask, date,
- hoursBegin, hoursEnd, delay)
- if id != None:
- contentStruct['root']['data'] = {
- 'id' : id,
- 'name' : name,
- }
- else:
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceTaskCreation.addService(TDSServiceTaskCreationStartGadgetTask)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "stop_gadget".
-# ------------------------------------------------------------------------------
-class TDSServiceTaskCreationStopGadgetTask(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'gadget_uuid' : 'string',
- 'task_type' : '<EVERY X|EVERY X FROM FULL HOUR|DAILY AT|ONCE AT|ONCE DELAYED>',
- 'task_name' : 'string',
- 'week_mask' : 'string',
- 'date' : 'string',
- 'hoursBegin' : 'string',
- 'hoursEnd' : 'string',
- 'delay' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "stop_gadget"
- self.comment = "Create a scheduled task to stop a gadget."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- gadgetUuid = parameters['gadget_uuid']
- taskType = parameters['task_type']
- taskName = parameters['task_name']
- weekMask = resourceScheduler.weekMaskStringToList(parameters['week_mask'])
- date = resourceScheduler.dateStringToList(parameters['date'])
- hoursBegin = resourceScheduler.timeStringToList(parameters['hoursBegin'])
- hoursEnd = resourceScheduler.timeStringToList(parameters['hoursEnd'])
- delay = resourceScheduler.timeStringToList(parameters['delay'])
- id, name = resourceTaskCreation.createTaskStopGadget(gadgetUuid,
- taskType, taskName, weekMask, date, hoursBegin, hoursEnd, delay)
- if id != None:
- contentStruct['root']['data'] = {
- 'id' : id,
- 'name' : name,
- }
- else:
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceTaskCreation.addService(TDSServiceTaskCreationStopGadgetTask)
-
-# ------------------------------------------------------------------------------
-# Declaration of the service "play_attitune".
-# ------------------------------------------------------------------------------
-class TDSServiceTaskCreationPlayAttitune(TDSService):
-
- def configure(self):
- self.parametersDict = {
- 'attitune_name' : 'string',
- 'task_type' : '<EVERY X|EVERY X FROM FULL HOUR|DAILY AT|ONCE AT|ONCE DELAYED>',
- 'task_name' : 'string',
- 'week_mask' : 'string',
- 'date' : 'string',
- 'hoursBegin' : 'string',
- 'hoursEnd' : 'string',
- 'delay' : 'string',
- }
- self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
- self.exclusiveExecution = False
- self.name = "play_attitune"
- self.comment = "Create a scheduled task to play an attitune."
-
- def execute(self, id, parameters):
- headersStruct = self.getDefaultHeadersStruct()
- contentStruct = self.getDefaultContentStruct()
- contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
- attituneName = parameters['attitune_name']
- taskType = parameters['task_type']
- taskName = parameters['task_name']
- weekMask = resourceScheduler.weekMaskStringToList(parameters['week_mask'])
- date = resourceScheduler.dateStringToList(parameters['date'])
- hoursBegin = resourceScheduler.timeStringToList(parameters['hoursBegin'])
- hoursEnd = resourceScheduler.timeStringToList(parameters['hoursEnd'])
- delay = resourceScheduler.timeStringToList(parameters['delay'])
- id, name = resourceTaskCreation.createTaskPlayAttitune(attituneName,
- taskType, taskName, weekMask, date, hoursBegin, hoursEnd, delay)
- if id != None:
- contentStruct['root']['data'] = {
- 'id' : id,
- 'name' : name,
- }
- else:
- contentStruct['root']['result'] = getStrError(E_TDREST_FAILED)
- return headersStruct, contentStruct
-
-# Register the service into the resource
-resourceTaskCreation.addService(TDSServiceTaskCreationPlayAttitune)
Deleted: software_suite_v3/smart-core/smart-server/trunk/resources/03_advanced_api/resourceUserConfiguration.py
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/resources/03_advanced_api/resourceUserConfiguration.py 2009-05-05 08:17:32 UTC (rev 4634)
+++ software_suite_v3/smart-core/smart-server/trunk/resources/03_advanced_api/resourceUserConfiguration.py 2009-05-05 13:54:49 UTC (rev 4635)
@@ -1,159 +0,0 @@
-# ==============================================================================
-# Task creation resource.
-# ==============================================================================
-
-from util.misc.tuxPaths import TUXDROID_LANGUAGE
-from util.misc.tuxPaths import TUXDROID_DEFAULT_LOCUTOR
-from util.misc.tuxPaths import USER_BASE_PATH
-from util.misc.DirectoriesAndFilesTools import *
-
-# ------------------------------------------------------------------------------
-# Declaration of the resource "user_configuration".
-# ------------------------------------------------------------------------------
-class TDSResourceUserConfiguration(TDSResource):
-
- # --------------------------------------------------------------------------
- # Inherited methods from TDSResource
- # --------------------------------------------------------------------------
-
- def configure(self):
- self.name = "user_configuration"
- self.comment = "Resource to manages the user configurations."
- self.fileName = RESOURCE_FILENAME
- # Default configuration
- self.defaultConfiguration = {
- 'auto-start' : False,
- 'configuration_path' : "",
- }
-
- def stop(self):
- self.getConfigurator().store()
-
- def start(self):
- config = self.getConfigurator().load(
- "resourceUserConfiguration.conf",
- self.defaultConfiguration)
- if config['auto-start']:
- self.loadUserDirectory(config['configuration_path'])
-
- # --------------------------------------------------------------------------
- # Public methods
- # --------------------------------------------------------------------------
-
- def loadUserDirectory(self, userDirectory):
- """Load the configuration from a user directory.
- @param userDirectory: User directory (with "MyTux" ...)
- @return: The success of the configuration loading.
- """
- if not os.path.isdir(userDirectory):
- return False
- if userDirectory.split(os.sep)[-1] != "MyTux":
- return False
- # User directories
- userGadgetsDir = os.path.join(userDirectory, "MyTuxGadgets")
- userGadgetsConfigurationsDir = os.path.join(userDirectory,
- "MyTuxGadgetsConfigurations")
- userAttitunesDir = os.path.join(userDirectory, "MyTuxAttitunes")
- userTasksDir = os.path.join(userDirectory, "MyTuxTasks")
- userLocalesConfigFile = os.path.join(userDirectory, "locales.conf")
- MKDirs(userGadgetsDir)
- MKDirs(userGadgetsConfigurationsDir)
- MKDirs(userAttitunesDir)
- MKDirs(userTasksDir)
- # Read the locales configuration
- if not os.path.isfile(userLocalesConfigFile):
- # Create the locales config
- splitedLC = TUXDROID_LANGUAGE.split("_")
- language = splitedLC[0]
- if len(splitedLC) > 1:
- country = splitedLC[1]
- else:
- country = language.upper()
- locutor = TUXDROID_DEFAULT_LOCUTOR
- pitch = 130
- userLocalesConfigDict = {
- 'language' : language,
- 'country' : country,
- 'locutor' : locutor,
- 'pitch' : pitch,
- 'L1' : language,
- 'L2' : language,
- 'GL' : language,
- }
- try:
- open(userLocalesConfigFile, "wb").write(str(userLocalesConfigDict))
- except:
- RMFile(userLocalesConfigFile)
- return False
- else:
- try:
- userLocalesConfigDict = eval(open(
- userLocalesConfigFile, "rb").read())
- except:
- RMFile(userLocalesConfigFile)
- return False
- def async...
[truncated message content] |