]> Pileus Git - ~andy/csm213a-hw/blobdiff - vis/config.py
Switch to Python 3 and Gtk 3
[~andy/csm213a-hw] / vis / config.py
index 652ad648c02a068a7959acbd2a19c6f4fe17c463..71dd99e5e35c98fe9cb8cbb54033541d53783927 100644 (file)
@@ -1,3 +1,40 @@
+from configparser import ConfigParser
+
 class Config:
+       # Attributes
+       filename = "settings.cfg"
+
+       defaults = {
+               'baudrate': '/dev/ttyACM0',
+               'baudrate': '9600',
+               'parity':   'N',
+               'databits': '8',
+               'stopbits': '1',
+               'username': '<username>',
+               'password': '<password>',
+               'apikey':   '<apikey>',
+       }
+
+       # Constructor
        def __init__(self):
-               pass
+               self.parser = ConfigParser(defaults=self.defaults)
+               self.parser.add_section('serial')
+               self.parser.add_section('xively')
+               self.load()
+
+       # Methods
+       def load(self):
+               self.parser.read(self.filename)
+
+               self.device   = self.parser.get('serial', 'device')
+               self.baudrate = self.parser.getint('serial', 'baudrate')
+               self.parity   = self.parser.get('serial', 'parity')
+               self.databits = self.parser.getint('serial', 'databits')
+               self.stopbits = self.parser.getint('serial', 'stopbits')
+
+               self.username = self.parser.get('xively', 'username')
+               self.password = self.parser.get('xively', 'password')
+               self.apikey   = self.parser.get('xively', 'apikey')
+
+       def save(self):
+               self.parser.write(self.filename)