use sfa.util.xml.XML instead for xml.util.rspec.RecordSpec
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Fri, 21 Oct 2011 19:25:49 +0000 (15:25 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Fri, 21 Oct 2011 19:25:49 +0000 (15:25 -0400)
sfa/server/interface.py
sfa/util/storage.py

index baeb2e7..b7111e2 100644 (file)
@@ -64,7 +64,7 @@ class Interfaces(dict):
         # load config file
         self.interface_info = XmlStorage(conf_file, self.default_dict)
         self.interface_info.load()
-        records = self.interface_info.values()[0].values()[0]
+        records = self.interface_info.values()[0]
         if not isinstance(records, list):
             records = [records]
         
index f80e2ff..ee2e41b 100644 (file)
@@ -1,5 +1,5 @@
 import os
-
+from sfa.util.xml import XML
 class SimpleStorage(dict):
     """
     Handles storing and loading python dictionaries. The storage file created
@@ -44,10 +44,9 @@ class XmlStorage(SimpleStorage):
         """
         Parse an xml file and store it as a dict
         """ 
-        data = RecordSpec()
         if os.path.exists(self.db_filename) and os.path.isfile(self.db_filename):
-            data.parseFile(self.db_filename)
-            dict.__init__(self, data.toDict())
+            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
@@ -56,8 +55,8 @@ class XmlStorage(SimpleStorage):
             self.load()
 
     def write(self):
-        data = RecordSpec()
-        data.parseDict(self)
+        xml = XML()
+        xml.parseDict(self)
         db_file = open(self.db_filename, 'w')
         db_file.write(data.toprettyxml())
         db_file.close()