Author: remi
Date: 2008-07-30 13:11:36 +0200 (Wed, 30 Jul 2008)
New Revision: 1423
Added:
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py
Modified:
software_suite_v2/tuxware/tuxhttpserver/trunk/src/tuxhttpserver.py
Log:
* added the resource named "macro". This resource handle the macro commands
format of libtuxosl and libtuxdriver.
Added:
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py
===================================================================
---
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py
(rev 0)
+++
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py
2008-07-30 11:11:36 UTC (rev 1423)
@@ -0,0 +1,74 @@
+# -----------------------------------------------------------------------------
+# /macro/play?macro=%s
+# -----------------------------------------------------------------------------
+def funct_macro_play(id_client, parameters):
+ content_struct = copy.deepcopy(DEFAULT_CONTENT_STRUCT)
+ content_struct['root']['result'] = getStrError(E_TDREST_SUCCESS)
+ p_fmt = {
+ 'macro' : 'string',
+ }
+
+ if not Glb_DonglePresent:
+ content_struct['root']['result'] = getStrError(E_TDREST_FAILED)
+ content = structToXML(content_struct, True)
+ return DEFAULT_HEADERS, content
+
+ result, params = parseParameters(parameters, p_fmt)
+
+ if result:
+ Glb_TuxDrv.ClearCommandStack()
+ Glb_TuxOSL.ClearCommandStack()
+ Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:TTS:STOP")
+ Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:WAV:STOP")
+ Glb_TuxDrv.ResetPositions()
+ macro = params['macro'].replace("|", "\n")
+ if len(macro) <= 16384:
+ Glb_TuxDrv.PerformMacroText(macro)
+ Glb_TuxOSL.PerformMacroText(macro)
+ else:
+ content_struct['root']['result'] = \
+ getStrError(E_TDREST_FAILED)
+ else:
+ content_struct['root']['result'] = \
+ getStrError(E_TDREST_INVALIDPARAMETERS)
+
+ content = structToXML(content_struct, True)
+
+ return DEFAULT_HEADERS, content
+
+Glb_ServiceContainer.createService('/macro/play?',
+ TDCC_LEVEL_FREE_CLIENT,
+ funct_macro_play,
+ "Macro",
+ "Play a macro.",
+ {
+ 'macro' : 'string',
+ })
+
+# -----------------------------------------------------------------------------
+# /macro/stop?
+# -----------------------------------------------------------------------------
+def funct_macro_stop(id_client, parameters):
+ content_struct = copy.deepcopy(DEFAULT_CONTENT_STRUCT)
+ content_struct['root']['result'] = getStrError(E_TDREST_SUCCESS)
+
+ if not Glb_DonglePresent:
+ content_struct['root']['result'] = getStrError(E_TDREST_FAILED)
+ content = structToXML(content_struct, True)
+ return DEFAULT_HEADERS, content
+
+ Glb_TuxDrv.ClearCommandStack()
+ Glb_TuxOSL.ClearCommandStack()
+ Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:TTS:STOP")
+ Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:WAV:STOP")
+ Glb_TuxDrv.ResetPositions()
+
+ content = structToXML(content_struct, True)
+
+ return DEFAULT_HEADERS, content
+
+Glb_ServiceContainer.createService('/macro/stop?',
+ TDCC_LEVEL_FREE_CLIENT,
+ funct_macro_stop,
+ "Macro",
+ "Stop the played macro.")
\ No newline at end of file
Modified: software_suite_v2/tuxware/tuxhttpserver/trunk/src/tuxhttpserver.py
===================================================================
--- software_suite_v2/tuxware/tuxhttpserver/trunk/src/tuxhttpserver.py
2008-07-30 09:29:05 UTC (rev 1422)
+++ software_suite_v2/tuxware/tuxhttpserver/trunk/src/tuxhttpserver.py
2008-07-30 11:11:36 UTC (rev 1423)
@@ -172,6 +172,8 @@
exec(str) in globals()
str = open('%s/resources/ResourceEyes.py' % APPLICATION_PATH,
'r').read()
exec(str) in globals()
+ str = open('%s/resources/ResourceMacro.py' % APPLICATION_PATH,
'r').read()
+ exec(str) in globals()
str = open('%s/resources/ResourceMouth.py' % APPLICATION_PATH,
'r').read()
exec(str) in globals()
str = open('%s/resources/ResourceFlippers.py' % APPLICATION_PATH,
'r').read()
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn