Skip to content

Commit

Permalink
Made download directory changeable
Browse files Browse the repository at this point in the history
  • Loading branch information
rubenroy committed Sep 28, 2013
1 parent c9a67ef commit 243711e
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions xkcd_downloader.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
import requests,os,json,threading
max_threads=70
active_threads=0
lock = threading.Lock()
print_lock=threading.Lock()

max_threads = 70
folder = "xkcd_downloaded"
download_path = os.getenv("HOME")+"/"+folder

active_threads = 0
lock = threading.Lock()
print_lock = threading.Lock()
class Download(threading.Thread):
page_url=""
def download(self,page_url):
page_url = ""
def download(self):
page_dict = json.loads(requests.get(page_url).text)
image_url = page_dict["img"]
filename = image_url.split("/")[-1]
i = page_dict["num"]
img_path = os.getcwd()+"/"+folder+"/"+str(i)+". "+filename
t_path = img_path+".txt"
img_path = download_path + "/" + str(i) + ". " + filename
t_path = img_path + ".txt"
img_size = int(requests.head(image_url).headers["content-length"])
if os.path.exists(img_path)==False or img_size!=int(os.path.getsize(img_path)):
if os.path.exists(img_path) == False or img_size != int(os.path.getsize(img_path)):
r = requests.get(image_url,stream = True)
with open(img_path, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
Expand All @@ -25,15 +28,15 @@ def download(self,page_url):
print "Downloaded",i
print_lock.release()
t_size = len(page_dict["transcript"])
if os.path.exists(t_path)==False or t_size!=int(os.path.getsize(t_path)):
if os.path.exists(t_path) == False or t_size != int(os.path.getsize(t_path)):
f = open(t_path,'w')
f.write(page_dict["transcript"].encode("UTF-8"))
f.close()
def __init__(self,page_url):
super(Download, self).__init__()
self.page_url = page_url
def run(self):
self.download(self.page_url)
self.download()
lock.acquire()
global active_threads
active_threads -= 1
Expand All @@ -60,8 +63,8 @@ def main():
global active_threads
latest = json.loads(requests.get("http://xkcd.org/info.0.json").text)["num"]
print 'Latest comic number is',latest
range_input=raw_input('\nEnter comics to download (eg: "55,630,666-999,1024"): ')
range_list=get_range(range_input,latest)
range_input = raw_input('\nEnter comics to download (eg: "55,630,666-999,1024"): ')
range_list = get_range(range_input,latest)
if not os.path.exists(folder):
os.mkdir(folder)
for i in range_list:
Expand Down

0 comments on commit 243711e

Please sign in to comment.