X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2Fstorage.py;h=9033434f6cf8d146df5d147a29a2e147db0b5895;hb=ecc85e0b923922cf7117d29b380f5284edb88f21;hp=ee2e41b88cb0e8dcfd48bab3d69b2cbd346c2ce0;hpb=70f4308757e799aeb96545f5e0a22c96dc8633c2;p=sfa.git diff --git a/sfa/util/storage.py b/sfa/util/storage.py index ee2e41b8..9033434f 100644 --- a/sfa/util/storage.py +++ b/sfa/util/storage.py @@ -1,5 +1,6 @@ import os from sfa.util.xml import XML + class SimpleStorage(dict): """ Handles storing and loading python dictionaries. The storage file created @@ -8,8 +9,8 @@ class SimpleStorage(dict): db_filename = None type = 'dict' - def __init__(self, db_filename, db = {}): - + def __init__(self, db_filename, db = None): + if db is None: db={} dict.__init__(self, db) self.db_filename = db_filename @@ -18,8 +19,8 @@ class SimpleStorage(dict): db_file = open(self.db_filename, 'r') dict.__init__(self, eval(db_file.read())) elif os.path.exists(self.db_filename) and not os.path.isfile(self.db_filename): - raise IOError, '%s exists but is not a file. please remove it and try again' \ - % self.db_filename + raise IOError('%s exists but is not a file. please remove it and try again' \ + % self.db_filename) else: self.write() self.load() @@ -48,8 +49,8 @@ class XmlStorage(SimpleStorage): xml = XML(self.db_filename) dict.__init__(self, xml.todict()) elif os.path.exists(self.db_filename) and not os.path.isfile(self.db_filename): - raise IOError, '%s exists but is not a file. please remove it and try again' \ - % self.db_filename + raise IOError('%s exists but is not a file. please remove it and try again' \ + % self.db_filename) else: self.write() self.load()