updated Config
authorMax Usachev <maxusachev@gmail.com>
Fri, 11 Jun 2010 09:28:19 +0000 (12:28 +0300)
committerMax Usachev <maxusachev@gmail.com>
Fri, 11 Jun 2010 09:28:19 +0000 (12:28 +0300)
config.py

index 4ee9db3..196e66c 100644 (file)
--- a/config.py
+++ b/config.py
@@ -7,7 +7,7 @@ from ConfigParser import ConfigParser
 
 CONFIG_NAME = 'config.ini'
 
-class Config:
+class MeabookConfig:
     def __init__(self, basedir, database):
         self.database = database
         self.cp = ConfigParser()
@@ -16,41 +16,53 @@ class Config:
             self.new()
         self.cp.readfp(open(self._path))
 
+    def __del__(self):
+        self.save()
+
+    def save(self):
+        """Save configuration file content."""
+
+        self.cp.write(open(self._path, 'w'))
+
     def new(self):
         """Creates default config file."""
 
         self.cp.add_section('fields')
-        self.cp.set('fields', 'fields', ','.join( \
+        self.cp.set('fields', 'show-fields', ','.join( \
             self.database.get_fields()))
-        self.cp.set('fields', 'order', ','.join( \
+        self.cp.set('fields', 'fields-order', ','.join( \
             self.database.get_fields()))
-        self.cp.write(open(self._path, 'w'))
+        self.cp.add_section('general')
+        self.cp.set('general', 'last-active-level', 1)
+        self.save()
 
     def set_fields(self, fields):
         """Sets fields, that will be shown for user."""
 
-        self.cp.set('fields', 'fields', ','.join(fields))
-        self.save()
+        self.cp.set('fields', 'show-fields', ','.join(fields))
 
     def get_fields(self):
         """Gets fields, that will be shown for user."""
 
-        return self.cp.get('fields', 'fields').split(',')
+        return self.cp.get('fields', 'show-fields').split(',')
 
 
     def set_order(self, fields):
         """Sets fields order."""
 
-        self.cp.set('fields', 'order', ','.join(fields))
-        self.save()
+        self.cp.set('fields', 'fields-order', ','.join(fields))
 
     def get_order(self):
         """Gets fields order."""
 
-        return self.cp.get('fields', 'order').split(',')
+        return self.cp.get('fields', 'fields-order').split(',')
 
-    def save(self):
-        """Save configuration file content."""
+    def get_last_active_level(self):
+        """Gets last active level before exit."""
 
-        self.cp.write(open(self._path, 'w'))
+        return int(self.cp.get('general', 'last-active-level'))
+
+    def set_last_active_level(self, level):
+        """Sets last active level before exit."""
 
+        self.cp.set('general', 'last-active-level', level)