From 07aad565e0c776f8a116020ed0c0c6fec4c17807 Mon Sep 17 00:00:00 2001 From: Max Usachev Date: Wed, 9 Jun 2010 16:22:04 +0300 Subject: [PATCH] added Config module --- config.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 config.py diff --git a/config.py b/config.py new file mode 100644 index 0000000..4aa8fb1 --- /dev/null +++ b/config.py @@ -0,0 +1,53 @@ +""" +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')) + -- 1.7.9.5