From 32c4471273097523d64ad0f7704861f211e78f72 Mon Sep 17 00:00:00 2001 From: ryuslash Date: Tue, 9 Feb 2010 01:32:42 +0100 Subject: [PATCH] working on the command-line arguments here --- .gitignore | 2 ++ 4grab.py | 17 +++++++++++++++++ config.py | 26 ++++++++++++++++++-------- 3 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 4grab.py diff --git a/.gitignore b/.gitignore index 2f836aa..fa1554f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ *~ *.pyc +#*# +.* \ No newline at end of file diff --git a/4grab.py b/4grab.py new file mode 100644 index 0000000..4de6526 --- /dev/null +++ b/4grab.py @@ -0,0 +1,17 @@ +import optparse +import sys + +import config + +parser = optparse.OptionParser() + +parser.add_option("-e", nargs=2, dest="confval", metavar="VALUE") + +(options, args) = parser.parse_args() + +if options.confval: + if not config.Configuration().option_exists(options.confval[0]): + print "%s: error: %s is not a valid configuration option" % (sys.argv[0], options.confval[0]) + exit(1) + print "Setting", options.confval[0], "to", options.confval[1] + config.Configuration(). diff --git a/config.py b/config.py index 7110ce5..519a0b3 100644 --- a/config.py +++ b/config.py @@ -12,18 +12,12 @@ class _Configuration(object): 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.set_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) - dirname = os.path.dirname(self.filename) - if not os.path.exists(dirname): - os.mkdir(dirname) - configfile = open(self.filename, "w") - self.configparser.write(configfile) + self.save() def raw_input_with_default(self, default, prompt): inp = raw_input("%s (default=%s): " % (prompt, default)) @@ -37,5 +31,21 @@ class _Configuration(object): def get_category(self): return self.configparser.get("settings", "category") + def set_category(self, value): + self.configparser.set("settings", "category", value) + + def option_exists(self, option): + for section in self.configparser.sections(): + if self.configparser.has_option(section, option): + return True + return False + + def save(self): + dirname = os.path.dirname(self.filename) + if not os.path.exists(dirname): + os.mkdir(dirname) + configfile = open(self.filename, "w") + self.configparser.write(configfile) + _configuration = _Configuration() def Configuration(): return _configuration