Author: remi
Date: 2009-04-06 09:35:57 +0200 (Mon, 06 Apr 2009)
New Revision: 4344

Added:
   
software_suite_v2/tuxware/tuxdroidserver/trunk/resources/03_advanced_api/resourceTaskCreation.py
Log:
* added a resource to create scheduled tasks

Added: 
software_suite_v2/tuxware/tuxdroidserver/trunk/resources/03_advanced_api/resourceTaskCreation.py
===================================================================
--- 
software_suite_v2/tuxware/tuxdroidserver/trunk/resources/03_advanced_api/resourceTaskCreation.py
                            (rev 0)
+++ 
software_suite_v2/tuxware/tuxdroidserver/trunk/resources/03_advanced_api/resourceTaskCreation.py
    2009-04-06 07:35:57 UTC (rev 4344)
@@ -0,0 +1,191 @@
+# 
==============================================================================
+# 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, hour, minute, second, year, month, day):
+        """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 hour: <0..23>
+        @param minute: <0..59>
+        @param second: <0..59>
+        @param year: Year.
+        @param month: <1..12>
+        @param day: <1..31>
+        """
+        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, hour, minute, second, year, month, day, data)
+
+    def createTaskStopGadget(self, gadgetUuid, taskType, taskName, weekMask,
+        hour, minute, second, year, month, day):
+        """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 hour: <0..23>
+        @param minute: <0..59>
+        @param second: <0..59>
+        @param year: Year.
+        @param month: <1..12>
+        @param day: <1..31>
+        """
+        command = "resourceGadgetFramework.stopGadget"
+        arguments = (gadgetUuid,)
+        data = {
+            'commandType' : 'gadget_stop',
+            'uuid' : gadgetUuid,
+        }
+        return resourceScheduler.createTask(command, arguments, taskType,
+            taskName, weekMask, hour, minute, second, year, month, day, 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',
+            'hour' : 'uint8',
+            'minute' : 'uint8',
+            'second' : 'uint8',
+            'year' : 'int',
+            'month' : 'int8',
+            'day' : 'int8',
+        }
+        self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
+        self.exclusiveExecution = False
+        self.name = "start_gadget"
+        self.comment = "Create a sheduled 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'])
+        hour = parameters['hour']
+        minute = parameters['minute']
+        second = parameters['second']
+        year = parameters['year']
+        month = parameters['month']
+        day = parameters['day']
+        id, name = resourceTaskCreation.createTaskStartGadget(gadgetUuid,
+            gadgetCommand, gadgetParameters, taskType, taskName, weekMask, 
hour,
+            minute, second, year, month, day)
+        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',
+            'hour' : 'uint8',
+            'minute' : 'uint8',
+            'second' : 'uint8',
+            'year' : 'int',
+            'month' : 'int8',
+            'day' : 'int8',
+        }
+        self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
+        self.exclusiveExecution = False
+        self.name = "stop_gadget"
+        self.comment = "Create a sheduled 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'])
+        hour = parameters['hour']
+        minute = parameters['minute']
+        second = parameters['second']
+        year = parameters['year']
+        month = parameters['month']
+        day = parameters['day']
+        id, name = resourceTaskCreation.createTaskStopGadget(gadgetUuid,
+            taskType, taskName, weekMask, hour, minute, second, year, month,
+            day)
+        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)


Property changes on: 
software_suite_v2/tuxware/tuxdroidserver/trunk/resources/03_advanced_api/resourceTaskCreation.py
___________________________________________________________________
Name: svn:keywords
   + Id


------------------------------------------------------------------------------
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to