configuration settings and startfile

Configuration Settings can now be changed with the -e command line argument
execution of 4grab has been moved to 4grab.py, but should also still work with download.py
This commit is contained in:
ryuslash 2010-02-09 02:10:17 +01:00
parent 91e0b5dc66
commit 1b09267876
3 changed files with 28 additions and 4 deletions

12
4grab.py Normal file → Executable file
View file

@ -1,7 +1,9 @@
#!/bin/env python
import optparse import optparse
import sys import sys
import config import config
import download
parser = optparse.OptionParser() parser = optparse.OptionParser()
@ -14,4 +16,12 @@ if options.confval:
print "%s: error: %s is not a valid configuration option" % (sys.argv[0], options.confval[0]) print "%s: error: %s is not a valid configuration option" % (sys.argv[0], options.confval[0])
exit(1) exit(1)
print "Setting", options.confval[0], "to", options.confval[1] print "Setting", options.confval[0], "to", options.confval[1]
config.Configuration(). config.Configuration().set_option(options.confval[0], options.confval[1])
config.Configuration().save()
exit(0)
base_url = "http://boards.4chan.org/%s/" % (config.Configuration().get_category())
t = download.get_thread_links(base_url)
t = download.get_image_links(base_url, t)
download.get_images(t)

View file

@ -40,11 +40,25 @@ class _Configuration(object):
self.configparser.set("settings", "category", value) self.configparser.set("settings", "category", value)
def option_exists(self, option): def option_exists(self, option):
for section in self.configparser.sections(): sections = self.configparser.sections()
for section in sections:
if self.configparser.has_option(section, option): if self.configparser.has_option(section, option):
return True return True
return False return False
def set_option(self, option, value):
sec = None
sections = self.configparser.sections()
for section in sections:
if self.configparser.has_option(section, option):
sec = section
if not sec is None:
self.configparser.set(sec, option, value)
return True
else:
return False
def save(self): def save(self):
dirname = os.path.dirname(self.filename) dirname = os.path.dirname(self.filename)
if not os.path.exists(dirname): if not os.path.exists(dirname):

View file

@ -19,7 +19,7 @@ def get_thread_links(baseurl):
for pagenum in t: for pagenum in t:
progress.show_progress(i) progress.show_progress(i)
url = base_url + pagenum url = baseurl + pagenum
tries = 10 tries = 10
while tries > 0: while tries > 0:
try: try:
@ -49,7 +49,7 @@ def get_image_links(baseurl, t = []):
for link in t: for link in t:
progress.show_progress(i) progress.show_progress(i)
img_url = base_url + link img_url = baseurl + link
tries = 10 tries = 10
while tries > 0: while tries > 0:
try: try: