[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r5189 - trunk/gnue-common/src/rpc/drivers/xmlrpc/py_xmlrpc
From: |
jan |
Subject: |
r5189 - trunk/gnue-common/src/rpc/drivers/xmlrpc/py_xmlrpc |
Date: |
Sat, 28 Feb 2004 03:43:41 -0600 (CST) |
Author: jan
Date: 2004-02-28 03:43:40 -0600 (Sat, 28 Feb 2004)
New Revision: 5189
Modified:
trunk/gnue-common/src/rpc/drivers/xmlrpc/py_xmlrpc/ServerAdapter.py
Log:
fix unicode handling for xmlrpc.py_xmlrpc RPC handler
Modified: trunk/gnue-common/src/rpc/drivers/xmlrpc/py_xmlrpc/ServerAdapter.py
===================================================================
--- trunk/gnue-common/src/rpc/drivers/xmlrpc/py_xmlrpc/ServerAdapter.py
2004-02-28 03:36:35 UTC (rev 5188)
+++ trunk/gnue-common/src/rpc/drivers/xmlrpc/py_xmlrpc/ServerAdapter.py
2004-02-28 09:43:40 UTC (rev 5189)
@@ -52,6 +52,7 @@
from gnue.common.rpc import GCommBase
import string, sys, thread, traceback
+from types import UnicodeType
try:
import xmlrpc
@@ -137,7 +138,7 @@
DirectoryServer.DirectoryServer.addRpMethod(self,object, \
parent,binding)
- self.server.addMethods({object._path:binding})
+ self.server.addMethods({force_str(object._path):binding})
def addRpAttribut(self,object,parent,binding):
@@ -147,14 +148,14 @@
if not object.readonly:
# Add the set_* directory entry
- self.server.addMethods({'%s.set_%s' % \
- (parent._path, object.name):\
+ self.server.addMethods({force_str('%s.set_%s' % \
+ (parent._path, object.name)):\
binding})
if not object.writeonly:
# Add the get_* directory entry
- self.server.addMethods({'%s.get_%s' % \
- (parent._path, object.name):\
+ self.server.addMethods({force_str('%s.get_%s' % \
+ (parent._path, object.name)):\
binding})
@@ -171,7 +172,7 @@
tl=len(type)
for i in self.directory.keys():
if i[0:tl]==type:
- method="["+objhandle+"]"+i[tl:]
+ method=force_str("["+objhandle+"]"+i[tl:])
GDebug.printMesg(1,'Method %s registered to py-xmlrpc ' \
% method +\
' internal directory.')
@@ -189,7 +190,7 @@
tl=len(type)
for i in self.directory.keys():
if i[0:tl]==type:
- method="["+objhandle+"]"+i[tl:]
+ method=force_str("["+objhandle+"]"+i[tl:])
GDebug.printMesg(1,'Method %s is deleted from py-xmlrpc ' \
% method +\
' internal directory.')
@@ -214,3 +215,12 @@
# del self._o.comtab[name]
# or
# self._o.removeMethods(d)
+
+def force_str(input):
+ """converts the parameter @input into a string
+ UnicodeTypes are converted to a utf-8 representation
+ """
+ if type(input)==UnicodeType:
+ return input.encode('utf-8')
+ else:
+ return str(input)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r5189 - trunk/gnue-common/src/rpc/drivers/xmlrpc/py_xmlrpc,
jan <=