|
|
3f8b40f |
--- autodownloader-0.2.0/AutoDL.py 2007-12-05 20:49:05.000000000 +0100
|
|
|
3f8b40f |
+++ autodownloader-0.2.0/AutoDL.py 2007-12-05 20:45:51.000000000 +0100
|
|
|
3f8b40f |
@@ -1,8 +1,8 @@
|
|
|
3f8b40f |
#!/usr/bin/env python
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
# Copyright (C) 2007 Robbert Gorter, Maurice van de Klundert, Mark de Vries
|
|
|
3f8b40f |
-# Copyright (C) 2007 Hans de Goede <j.w.r.degoede@hhs.nl>
|
|
|
3f8b40f |
+# Copyright (C) 2007 Hans de Goede <j.w.r.degoede@hhs.nl>
|
|
|
3f8b40f |
#
|
|
|
3f8b40f |
# This program is free software; you can redistribute it and/or modify
|
|
|
3f8b40f |
# it under the terms of the GNU General Public License as published by
|
|
|
3f8b40f |
@@ -105,30 +105,30 @@
|
|
|
3f8b40f |
def read_setting(self, content, first_tag):
|
|
|
3f8b40f |
offset = len(first_tag)
|
|
|
3f8b40f |
last_tag = '[/' + first_tag[1:]
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
find_index_start = 0
|
|
|
3f8b40f |
find_index_end = 0
|
|
|
3f8b40f |
|
|
|
3f8b40f |
find_index_start = string.find(content, first_tag)
|
|
|
3f8b40f |
if find_index_start == -1:
|
|
|
3f8b40f |
raise Missing_tag(first_tag)
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
low_index = find_index_start + offset
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
find_index_end = string.find(content, last_tag)
|
|
|
3f8b40f |
if find_index_end == -1:
|
|
|
3f8b40f |
raise Missing_tag(last_tag)
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
high_index = find_index_end
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
if find_index_start > find_index_end:
|
|
|
3f8b40f |
raise Wrong_tag(first_tag)
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
setting = content[low_index:high_index].strip()
|
|
|
3f8b40f |
for envvar in re.findall(r'\$\w+', setting):
|
|
|
3f8b40f |
setting = setting.replace(envvar,
|
|
|
3f8b40f |
os.getenv(envvar[1:], ''))
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
return setting
|
|
|
3f8b40f |
|
|
|
3f8b40f |
def read_messagelist(self, content):
|
|
|
3f8b40f |
@@ -145,15 +145,15 @@
|
|
|
3f8b40f |
raise Missing_tag('[/MESSAGE]')
|
|
|
3f8b40f |
|
|
|
3f8b40f |
valid_content = content[message_boundary_low:message_boundary_high]
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
title = self.read_setting(valid_content, '[TITLE]')
|
|
|
3f8b40f |
text = self.read_setting(valid_content, '[TEXT]')
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
message_record = { 'title': title, 'text': text }
|
|
|
3f8b40f |
message_list.append(message_record)
|
|
|
3f8b40f |
message_boundary_low = string.find(content, '[MESSAGE]', message_boundary_high)
|
|
|
3f8b40f |
|
|
|
3f8b40f |
- return message_list
|
|
|
3f8b40f |
+ return message_list
|
|
|
3f8b40f |
|
|
|
3f8b40f |
def read_filelist(self, content):
|
|
|
3f8b40f |
|
|
|
3f8b40f |
@@ -182,13 +182,13 @@
|
|
|
3f8b40f |
|
|
|
3f8b40f |
file_boundary_low = string.find(content, '[FILE]', file_boundary_high)
|
|
|
3f8b40f |
|
|
|
3f8b40f |
- return file_list
|
|
|
3f8b40f |
+ return file_list
|
|
|
3f8b40f |
|
|
|
3f8b40f |
def read_urllist(self, content):
|
|
|
3f8b40f |
|
|
|
3f8b40f |
url_list = []
|
|
|
3f8b40f |
|
|
|
3f8b40f |
- url_boundary_low = string.find(content, '[URL]')
|
|
|
3f8b40f |
+ url_boundary_low = string.find(content, '[URL]')
|
|
|
3f8b40f |
if url_boundary_low == -1:
|
|
|
3f8b40f |
raise Missing_tag('[URL]')
|
|
|
3f8b40f |
|
|
|
3f8b40f |
@@ -264,7 +264,7 @@
|
|
|
3f8b40f |
self.caller.refresh()
|
|
|
3f8b40f |
if not os.path.exists(x['path']):
|
|
|
3f8b40f |
os.makedirs(x['path'])
|
|
|
3f8b40f |
- try:
|
|
|
3f8b40f |
+ try:
|
|
|
3f8b40f |
urllib.urlretrieve(x['urllist'][self.mirror_count],
|
|
|
3f8b40f |
x['path'] + '/' + x['filename'],
|
|
|
3f8b40f |
self.progress)
|
|
|
3f8b40f |
@@ -277,7 +277,7 @@
|
|
|
3f8b40f |
self.mirror_count+=1
|
|
|
3f8b40f |
except socket.timeout:
|
|
|
3f8b40f |
self.caller.report_broken_link(x['urllist'][self.mirror_count])
|
|
|
3f8b40f |
- self.mirror_count+=1
|
|
|
3f8b40f |
+ self.mirror_count+=1
|
|
|
3f8b40f |
except:
|
|
|
3f8b40f |
self.abort_download = True
|
|
|
3f8b40f |
raise
|
|
|
3f8b40f |
@@ -296,7 +296,7 @@
|
|
|
3f8b40f |
# GUI class
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
class AutoDL(GladeWindow):
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
|
|
|
3f8b40f |
@@ -350,10 +350,10 @@
|
|
|
3f8b40f |
if self.error_logger.flag():
|
|
|
3f8b40f |
top_window = 'ErrorWindow'
|
|
|
3f8b40f |
GladeWindow.__init__(self, filename, top_window, widget_list, handlers)
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
textbuffer = gtk.TextBuffer()
|
|
|
3f8b40f |
iter = textbuffer.get_start_iter()
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
textbuffer.insert (iter, self.error_logger.get_log())
|
|
|
3f8b40f |
|
|
|
3f8b40f |
self.widgets['textview3'].set_buffer(textbuffer)
|
|
|
3f8b40f |
@@ -363,7 +363,7 @@
|
|
|
3f8b40f |
|
|
|
3f8b40f |
textbuffer = gtk.TextBuffer()
|
|
|
3f8b40f |
iter = textbuffer.get_start_iter()
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
textbuffer.insert(iter, self.settings['messagelist'][0]['text'])
|
|
|
3f8b40f |
|
|
|
3f8b40f |
self.widgets['message_textview'].set_buffer(textbuffer)
|
|
|
3f8b40f |
@@ -385,7 +385,7 @@
|
|
|
3f8b40f |
|
|
|
3f8b40f |
def refresh(self):
|
|
|
3f8b40f |
while gtk.events_pending():
|
|
|
3f8b40f |
- gtk.main_iteration(False)
|
|
|
3f8b40f |
+ gtk.main_iteration(False)
|
|
|
3f8b40f |
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
|
|
|
3f8b40f |
@@ -398,7 +398,7 @@
|
|
|
3f8b40f |
self.downloader.switch_mirror()
|
|
|
3f8b40f |
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
def report_progress(self, bytes, filesize):
|
|
|
3f8b40f |
|
|
|
3f8b40f |
text_downloaded = "%s" % int (bytes/1024)
|
|
|
3f8b40f |
@@ -444,7 +444,7 @@
|
|
|
3f8b40f |
|
|
|
3f8b40f |
self.refresh()
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
def on_button_accept_yes_clicked(self, *args):
|
|
|
3f8b40f |
self.settings['messagelist'] = self.settings['messagelist'][1:]
|
|
|
3f8b40f |
if len(self.settings['messagelist']):
|
|
|
3f8b40f |
@@ -457,9 +457,9 @@
|
|
|
3f8b40f |
|
|
|
3f8b40f |
self.set_top_window(self.widgets['DownloadWindow'])
|
|
|
3f8b40f |
self.show()
|
|
|
3f8b40f |
- self.widgets['AcceptWindow'].hide()
|
|
|
3f8b40f |
- self.widgets['Md5Window'].hide()
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+ self.widgets['AcceptWindow'].hide()
|
|
|
3f8b40f |
+ self.widgets['Md5Window'].hide()
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
self.downloader = Downloader(self)
|
|
|
3f8b40f |
try:
|
|
|
3f8b40f |
self.downloader.download(self.settings['filelist'])
|
|
|
3f8b40f |
@@ -469,7 +469,7 @@
|
|
|
3f8b40f |
|
|
|
3f8b40f |
textbuffer = gtk.TextBuffer()
|
|
|
3f8b40f |
iter = textbuffer.get_start_iter()
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
textbuffer.insert (iter, inst.value)
|
|
|
3f8b40f |
|
|
|
3f8b40f |
self.widgets['textview3'].set_buffer(textbuffer)
|
|
|
3f8b40f |
@@ -479,7 +479,7 @@
|
|
|
3f8b40f |
|
|
|
3f8b40f |
textbuffer = gtk.TextBuffer()
|
|
|
3f8b40f |
iter = textbuffer.get_start_iter()
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
textbuffer.insert (iter, inst.value)
|
|
|
3f8b40f |
|
|
|
3f8b40f |
self.widgets['textview3'].set_buffer(textbuffer)
|
|
|
3f8b40f |
@@ -493,11 +493,11 @@
|
|
|
3f8b40f |
|
|
|
3f8b40f |
textbuffer = gtk.TextBuffer()
|
|
|
3f8b40f |
iter = textbuffer.get_start_iter()
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
textbuffer.insert (iter, 'Unexpected error while downloading')
|
|
|
3f8b40f |
|
|
|
3f8b40f |
self.widgets['textview3'].set_buffer(textbuffer)
|
|
|
3f8b40f |
- raise
|
|
|
3f8b40f |
+ raise
|
|
|
3f8b40f |
else:
|
|
|
3f8b40f |
if 'ask_to_start' in self.settings and self.settings['ask_to_start'] == "FALSE":
|
|
|
3f8b40f |
gtk.main_quit();
|
|
|
3f8b40f |
@@ -505,23 +505,23 @@
|
|
|
3f8b40f |
self.set_top_window(self.widgets['SuccessWindow'])
|
|
|
3f8b40f |
self.widgets['DownloadWindow'].hide()
|
|
|
3f8b40f |
self.show()
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
|
|
|
3f8b40f |
def on_button_success_no_clicked(self, *args):
|
|
|
3f8b40f |
sys.exit(2)
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
def on_button_md5_yes_clicked(self, *args):
|
|
|
3f8b40f |
self.settings['filelist'] = self.downloader.remaining_files
|
|
|
3f8b40f |
self.on_button_accept_yes_clicked(args)
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
-
|
|
|
3f8b40f |
+
|
|
|
3f8b40f |
def on_button_success_yes_clicked(self, *args):
|
|
|
3f8b40f |
gtk.main_quit()
|
|
|
3f8b40f |
|
|
|
3f8b40f |
- #----------------------------------------------------------------------
|
|
|
3f8b40f |
+ #----------------------------------------------------------------------
|
|
|
3f8b40f |
|
|
|
3f8b40f |
#----------------------------------------------------------------------
|
|
|
3f8b40f |
|