Author: remi
Date: 2008-08-16 20:39:58 +0200 (Sat, 16 Aug 2008)
New Revision: 1526

Modified:
   
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceAttitune.py
   software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py
Log:
* fixed a bug of encoding in the TTS from macro and attitune files.

Modified: 
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceAttitune.py
===================================================================
--- 
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceAttitune.py 
    2008-08-16 17:57:43 UTC (rev 1525)
+++ 
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceAttitune.py 
    2008-08-16 18:39:58 UTC (rev 1526)
@@ -56,6 +56,21 @@
 # /attitune/play?begin=<float>
 # -----------------------------------------------------------------------------
 def funct_attitune_play(id_client, parameters):
+    
+    def ttsTextReencode(text):
+        spText = text.split("\n")
+        result = ""
+        for cmd in spText:
+            if cmd.find("OSL_CMD:TTS:SPEAK:") != -1:
+                try:
+                    u = unicode(cmd, "utf-8")
+                    text = u.encode("cp1252", "replace")
+                    cmd = text
+                except:
+                    pass
+            result = result + cmd + "\n"
+        return result
+    
     global Glb_CurrentAttitune
     global attituneMutex
     
@@ -82,6 +97,7 @@
             Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:WAV:STOP")
             Glb_TuxDrv.ResetPositions()
             macro = Glb_CurrentAttitune.toMacro(params['begin'])
+            macro = ttsTextReencode(macro)
             if len(macro) <= 16384:
                 Glb_TuxDrv.PerformMacroText(macro)
                 Glb_TuxOSL.PerformMacroText(macro)

Modified: 
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py
===================================================================
--- 
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py    
    2008-08-16 17:57:43 UTC (rev 1525)
+++ 
software_suite_v2/tuxware/tuxhttpserver/trunk/src/resources/ResourceMacro.py    
    2008-08-16 18:39:58 UTC (rev 1526)
@@ -2,6 +2,21 @@
 # /macro/play?macro=%s
 # -----------------------------------------------------------------------------
 def funct_macro_play(id_client, parameters):
+    
+    def ttsTextReencode(text):
+        spText = text.split("\n")
+        result = ""
+        for cmd in spText:
+            if cmd.find("OSL_CMD:TTS:SPEAK:") != -1:
+                try:
+                    u = unicode(cmd, "utf-8")
+                    text = u.encode("cp1252", "replace")
+                    cmd = text
+                except:
+                    pass
+            result = result + cmd + "\n"
+        return result
+    
     content_struct = copy.deepcopy(DEFAULT_CONTENT_STRUCT)
     content_struct['root']['result'] = getStrError(E_TDREST_SUCCESS)
     p_fmt = {
@@ -22,6 +37,7 @@
         Glb_TuxOSL.PerformCommand(0.0, "OSL_CMD:WAV:STOP")
         Glb_TuxDrv.ResetPositions()
         macro = params['macro'].replace("|", "\n")
+        macro = ttsTextReencode(macro)
         if len(macro) <= 16384:
             Glb_TuxDrv.PerformMacroText(macro)
             Glb_TuxOSL.PerformMacroText(macro)


-------------------------------------------------------------------------
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

Reply via email to