configuration file "parser"
authorMark Huang <mlhuang@cs.princeton.edu>
Tue, 31 Oct 2006 23:15:12 +0000 (23:15 +0000)
committerMark Huang <mlhuang@cs.princeton.edu>
Tue, 31 Oct 2006 23:15:12 +0000 (23:15 +0000)
config.py [new file with mode: 0644]

diff --git a/config.py b/config.py
new file mode 100644 (file)
index 0000000..6288bf7
--- /dev/null
+++ b/config.py
@@ -0,0 +1,33 @@
+#!/usr/bin/python
+#
+# Parses the PLC configuration file /etc/planetlab/plc_config, which
+# is bootstrapped by Boot Manager, but managed by us.
+#
+# Mark Huang <mlhuang@cs.princeton.edu>
+# Copyright (C) 2006 The Trustees of Princeton University
+#
+# $Id$
+#
+
+class Config:
+    """
+    Parses Python configuration files; all variables in the file are
+    assigned to class attributes.
+    """
+
+    def __init__(self, file = "/etc/planetlab/plc_config"):
+        try:
+            execfile(file, self.__dict__)
+        except:
+            raise Exception, "Could not parse " + file
+
+        if int(self.PLC_API_PORT) == 443:
+            uri = "https://"
+        else:
+            uri = "http://"
+
+        uri += self.PLC_API_HOST + \
+               ":" + str(self.PLC_API_PORT) + \
+               "/" + self.PLC_API_PATH + "/"
+
+        self.plc_api_uri = uri