--- /dev/null
+"""
+Configuration module
+"""
+
+import os
+from ConfigParser import ConfigParser
+
+CONFIG_NAME = 'config.ini'
+
+class Config:
+ def __init__(self, basedir, database):
+ self.database = database
+ self.cp = ConfigParser()
+ self._path = os.path.join(basedir, CONFIG_NAME)
+ if not os.path.exists(self._path):
+ self.new()
+ self.cp.readfp(open(self._path))
+
+ def new(self):
+ """Creates default config file."""
+
+ self.cp.add_section('fields')
+ self.cp.set('fields', 'fields', ','.join( \
+ self.database.get_fields()))
+ self.cp.set('fields', 'order', ','.join( \
+ self.database.get_fields()))
+ self.cp.write(open(self._path, 'w'))
+
+ def set_fields(self, fields):
+ """Sets fields, that will be shown for user."""
+
+ self.cp.set('fields', 'fields', ','.join(fields))
+
+ def get_fields(self):
+ """Gets fields, that will be shown for user."""
+
+ return self.cp.get('fields', 'fields').split(',')
+
+ def set_order(self, fields):
+ """Sets fields order."""
+
+ self.cp.set('fields', 'order', ','.join(fields))
+
+ def get_order(self):
+ """Gets fields order."""
+
+ return self.cp.get('fields', 'order').split(',')
+
+ def save(self):
+ """Save configuration file content."""
+
+ self.cp.write(open(self._path, 'w'))
+