|
From: <ni...@us...> - 2010-11-04 20:05:18
|
Revision: 73
http://openautomation.svn.sourceforge.net/openautomation/?rev=73&view=rev
Author: nilss1
Date: 2010-11-04 20:05:11 +0000 (Thu, 04 Nov 2010)
Log Message:
-----------
changed datastore.db to UTF-8 and Datastore to unicode
Modified Paths:
--------------
PyWireGate/trunk/DSupdate.py
PyWireGate/trunk/datastore.py
Modified: PyWireGate/trunk/DSupdate.py
===================================================================
--- PyWireGate/trunk/DSupdate.py 2010-11-04 13:27:57 UTC (rev 72)
+++ PyWireGate/trunk/DSupdate.py 2010-11-04 20:05:11 UTC (rev 73)
@@ -1,6 +1,7 @@
import getopt
import ConfigParser
import sys
+import codecs
import datastore
try:
@@ -24,7 +25,7 @@
self.save()
def readConfig(self,configfile):
- cfile = open(configfile,"r")
+ cfile = codecs.open(configfile,"r")
## fix for missingsectionheaders
while True:
pos = cfile.tell()
@@ -52,7 +53,7 @@
ga = self.readConfig(fname)
for key in ga.keys():
id = "%s:%s" % (self.config['namespace'],key)
- self.dataobjects[id] = datastore.dataObject(False,id,unicode(ga[key]['name'],errors='ignore'))
+ self.dataobjects[id] = datastore.dataObject(False,id,ga[key]['name'].decode('iso-8859-15'))
self.dataobjects[id].config['dptid'] = ga[key]['dptsubid']
def OWFSloader(self,fname):
@@ -61,7 +62,7 @@
id = "%s:%s_temperature" % (self.config['namespace'],key)
## Fixme: Humidity ... not included
print "add %s " % id
- self.dataobjects[id] = datastore.dataObject(False,id,unicode(ow[key]['name'],errors='ignore'))
+ self.dataobjects[id] = datastore.dataObject(False,id,ow[key]['name'].decode('iso-8859-15'))
if 'resolution' in ow[key]:
self.dataobjects[id].config['resolution'] = ow[key]['resolution']
if 'eib_ga_temp' in ow[key]:
@@ -78,7 +79,7 @@
def load(self):
self.debug("load DATASTORE")
try:
- db = open(self.config['datastore'],"rb")
+ db = codecs.open(self.config['datastore'],"rb",encoding='utf-8')
loaddict = json.load(db)
db.close()
for name, obj in loaddict.items():
@@ -106,7 +107,7 @@
'config' : obj.config,
'connected' : obj.connected
}
- dbfile = open(self.config['datastore'],"wb")
+ dbfile = codecs.open(self.config['datastore'],"wb",encoding='utf-8')
json.dump(savedict,dbfile,sort_keys=True,indent=3)
dbfile.close()
for i in savedict.keys():
Modified: PyWireGate/trunk/datastore.py
===================================================================
--- PyWireGate/trunk/datastore.py 2010-11-04 13:27:57 UTC (rev 72)
+++ PyWireGate/trunk/datastore.py 2010-11-04 20:05:11 UTC (rev 73)
@@ -2,6 +2,8 @@
import time
import threading
+import codecs
+
try:
## use included json in > Python 2.6
import json
@@ -89,7 +91,7 @@
def load(self):
self.debug("load DATASTORE")
try:
- db = open(self.WG.config['WireGate']['datastore'],"rb")
+ db = codecs.open(self.WG.config['WireGate']['datastore'],"rb",encoding='utf-8')
loaddict = json.load(db)
db.close()
for name, obj in loaddict.items():
@@ -127,8 +129,10 @@
'config' : obj.config,
'connected' : obj.connected
}
- dbfile = open(self.WG.config['WireGate']['datastore'],"wb")
- json.dump(savedict,dbfile,sort_keys=True,indent=3)
+ dbfile = codecs.open(self.WG.config['WireGate']['datastore'],"wb",encoding='utf-8')
+ utfdb = json.dumps(savedict,dbfile,ensure_ascii=False,sort_keys=True,indent=3)
+ dbfile.write(utfdb)
+ #json.dump(savedict,dbfile,sort_keys=True,indent=3)
dbfile.close()
@@ -168,12 +172,15 @@
if not name:
## Initial Name
- self.name = "%s:unbekannt-%s" % (namespace, time.strftime("%Y-%m-%d_%H:%M:%S"))
+ self.name = u"%s:unbekannt-%s" % (namespace, time.strftime("%Y-%m-%d_%H:%M:%S"))
else:
self.name = name
+ if type(self.name) <> unicode:
+ ## guess that non unicode is iso8859
+ self.name = name.decode("iso-8859-15")
## some defaults
- self.value = ""
+ self.value = u""
self.lastupdate = 0
self.id = id
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|