make Config inherit dict class
[sfa.git] / geni / util / config.py
index 4a20023..59b330c 100644 (file)
 import os
 import sys
 
-# If we have been checked out into a directory at the same
-# level as myplc, where plc_config.py lives. If we are in a
-# MyPLC environment, plc_config.py has already been installed
-# in site-packages.
-myplc = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + \
-        os.sep + "myplc"
-
-class Config:
+geni =  os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))+ os.sep + "geni"
+
+class Config(dict):
     """
     Parse the bash/Python/PHP version of the configuration file. Very
     fast but no type conversions.
     """
 
-    def __init__(self, file = "/usr/share/geniwrapper/util/geni_config"):
+    def __init__(self, file = "/etc/geni/geni_config"):
         # Load plc_config
 
-       loaded = False
-       path = os.path.dirname(os.path.abspath(__file__))
-       filename = file.split(os.sep)[-1]
-       alt_file = path + os.sep + filename
-       myplc_file = myplc + os.sep + filename
-       files = [file, alt_file, myplc_file]
+        loaded = False
+        path = os.path.dirname(os.path.abspath(__file__))
+        filename = file.split(os.sep)[-1]
+        alt_file = path + os.sep + 'util' + os.sep + filename
+        geni_file = geni + os.sep + 'util' + os.sep + filename
+        files = [file, alt_file, geni_file]
 
-       for file in files:
-           try: 
-               execfile(file, self.__dict__)
-               loaded = True
-           except:
-               pass
+        for file in files:
+            try: 
+                execfile(file, self.__dict__)
+                loaded = True
+            except:
+                pass
 
-       if not loaded:
-           raise Exception, "Could not find config in " + ", ".join(files)
+        if not loaded:
+            raise Exception, "Could not find config in " + ", ".join(files)
 
+        # set up some useful variables
 
     def load(self, file):
-       try:
-           execfile(file, self.__dict__)
-       except:
-           raise Exception, "Could not find config in " + file
+        try:
+            execfile(file, self.__dict__)
+        except:
+            raise Exception, "Could not find config in " + file
 
 plcConfig = Config("/etc/planetlab/plc_config")