From c73778910508d43a247feb868f870ad408c4d360 Mon Sep 17 00:00:00 2001 From: ryuslash Date: Mon, 18 Jan 2010 20:08:38 +0100 Subject: Started working on configuration file --- config.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 config.py (limited to 'config.py') diff --git a/config.py b/config.py new file mode 100644 index 0000000..7810458 --- /dev/null +++ b/config.py @@ -0,0 +1,36 @@ +import os +import ConfigParser + +class _Configuration(object): + def __init__(self): + self.filename = os.path.join(os.path.join(os.getenv("HOME"), ".4grab"), "config.cfg") + self.configparser = ConfigParser.RawConfigParser() + if not os.path.exists(self.filename): + self.create_new() + else: + self.configparser.read(self.filename) + + def create_new(self): + self.configparser.add_section("settings") + self.configparser.set("settings", "category", self.raw_input_with_default("w", "Please enter which category you would like to download from: ")) + + self.configparser.add_section("locations") + self.configparser.set("locations", "download", self.raw_input_with_default(os.path.join(os.getenv("HOME"), "Pictures"), "Please enter where you would like the downloads to go: ")) + + with open(self.filename) as configfile: + self.configparser.write(configfile) + + def raw_input_with_default(self, default, prompt): + inp = raw_input("%s (default=%s): " % (prompt, default)) + if inp == "": + return default + return inp + + def get_download_location(self): + return self.configparser.get("locations", "download") + + def get_category(self): + return self.configparser.get("settings", "category") + +_configuration = _Configuration() +def Configuration(): return _configuration -- cgit v1.2.3-54-g00ecf