CONFIG_NAME = 'config.ini'
-class Config:
+class MeabookConfig:
def __init__(self, basedir, database):
self.database = database
self.cp = ConfigParser()
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)