commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue-common/src/datasources/drivers/appserver/a...


From: Jan Ischebeck
Subject: gnue-common/src/datasources/drivers/appserver/a...
Date: Tue, 07 Oct 2003 12:08:54 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue-common
Branch:         
Changes by:     Jan Ischebeck <address@hidden>  03/10/07 12:08:54

Modified files:
        src/datasources/drivers/appserver/appserver: Driver.py 

Log message:
        appserver driver update:
        - encode/decode string data to/from utf-8 before passing to/from 
appserver
        (this should be conform to xmlrpc spec and make german umlauts works)

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/datasources/drivers/appserver/appserver/Driver.py.diff?tr1=1.17&tr2=1.18&r1=text&r2=text

Patches:
Index: gnue-common/src/datasources/drivers/appserver/appserver/Driver.py
diff -c gnue-common/src/datasources/drivers/appserver/appserver/Driver.py:1.17 
gnue-common/src/datasources/drivers/appserver/appserver/Driver.py:1.18
*** gnue-common/src/datasources/drivers/appserver/appserver/Driver.py:1.17      
Sat Sep  6 08:05:23 2003
--- gnue-common/src/datasources/drivers/appserver/appserver/Driver.py   Tue Oct 
 7 12:08:54 2003
***************
*** 44,50 ****
  import sys
  
  class Appserver_Connector:
!   def __init__(self, connectData):
      
      user = connectData['_username']
      passwd = connectData['_password']
--- 44,50 ----
  import sys
  
  class Appserver_Connector:
!   def __init__(self, connectData, unicodeMode=0):
      
      user = connectData['_username']
      passwd = connectData['_password']
***************
*** 57,62 ****
--- 57,68 ----
  
      GDebug.printMesg(3,"Setup the link to the session manager")
      self._sm = self._server.request("Session")
+ 
+     if connectData.has_key('encoding'):
+       GDebug.printMesg(1,"Appserver's dbdriver doesn't 'encoding' parameter, 
as the transport"+\
+                        " encoding has to be 'utf-8'.")
+ 
+     self._unicodeMode=unicodeMode
     
      #GDebug.printMesg(3,"Get the status of the session manager")
      #GDebug.printMesg(3,"Status: "+sessionManager.Status())
***************
*** 123,129 ****
        dict = {}
        j = 1
        for fieldName in self._fieldlist:
!         dict[fieldName] = i[j]
          j=j+1
          
        dict["gnue_id"]=i[0]
--- 129,142 ----
        dict = {}
        j = 1
        for fieldName in self._fieldlist:
!         value = i[j]
!         if type(value) == types.StringType:
!           if not self._dataCon._unicodeMode:
!             value = value.decode('utf-8').encode(gConfig('textEncoding'))
!           else:
!             value = value.decode('utf-8')
!             
!         dict[fieldName] = value      
          j=j+1
          
        dict["gnue_id"]=i[0]
***************
*** 157,162 ****
--- 170,184 ----
      if not self._updateList.has_key(classname):
         self._updateList[classname]=[]
         self._updateKeyList[classname]=[]
+        
+     for key in fieldDict.keys():
+       value=fieldDict[key]
+       if type(value) == types.StringType:
+         if not self._dataCon._unicodeMode:
+           fieldDict[key] = 
value.decode(gConfig('textEncoding')).encode('utf-8')
+         else:
+           fieldDict[key] = value.encode('utf-8')
+        
      self._updateList[classname].append(fieldDict)
      self._updateKeyList[classname].append(id)
  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]