From fd11206fe002e46119dd58f31e526a8e85a9a1a1 Mon Sep 17 00:00:00 2001 From: mkaay Date: Mon, 16 Nov 2009 17:43:33 +0100 Subject: added lastEffectiveURL --- module/network/Request.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index eb67da95d..9f27af4ec 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -47,6 +47,7 @@ class Request: self.abort = False + self.lastEffectiveURL = None self.lastURL = None self.auth = False @@ -138,6 +139,7 @@ class Request: self.pycurl.perform() + self.lastEffectiveURL = self.pycurl.getinfo(pycurl.EFFECTIVE_URL) self.lastURL = url header = self.get_header() @@ -165,6 +167,7 @@ class Request: if rep.headers["content-encoding"] == "gzip": output = GzipFile('', 'r', 0, StringIO(output)).read() + self.lastEffectiveURL = rep.geturl() self.lastURL = url return output -- cgit v1.2.3 From f7563727e1ccb8d764904806cb9e262ba555f824 Mon Sep 17 00:00:00 2001 From: spoob Date: Mon, 30 Nov 2009 15:18:04 +0100 Subject: Cleaned XMLRPC in Core --- module/network/Request.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index 9f27af4ec..b80ea44da 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -51,7 +51,7 @@ class Request: self.lastURL = None self.auth = False - self.timeout = 5*3600 + self.timeout = 5 try: if pycurl: self.curl = True @@ -94,7 +94,7 @@ class Request: self.pycurl = pycurl.Curl() self.pycurl.setopt(pycurl.FOLLOWLOCATION, 1) self.pycurl.setopt(pycurl.MAXREDIRS, 5) - self.pycurl.setopt(pycurl.TIMEOUT, self.timeout) + self.pycurl.setopt(pycurl.TIMEOUT, (self.timeout*3600)) self.pycurl.setopt(pycurl.CONNECTTIMEOUT, 30) self.pycurl.setopt(pycurl.NOSIGNAL, 1) self.pycurl.setopt(pycurl.NOPROGRESS, 0) -- cgit v1.2.3 From 9ecbb58e7ea06cb604745e25627e2fb4709fa442 Mon Sep 17 00:00:00 2001 From: spoob Date: Wed, 2 Dec 2009 15:37:25 +0100 Subject: New Update Function, pycurl able to just load headers, little fixes --- module/network/Request.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index b80ea44da..cda8e50f1 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -110,7 +110,7 @@ class Request: "Connection: keep-alive", "Keep-Alive: 300"]) - def load(self, url, get={}, post={}, ref=True, cookies=False): + def load(self, url, get={}, post={}, ref=True, cookies=False, just_header=False): if post: post = urllib.urlencode(post) @@ -136,6 +136,13 @@ class Request: if ref and self.lastURL is not None: self.pycurl.setopt(pycurl.REFERER, self.lastURL) + if just_header: + self.pycurl.setopt(pycurl.NOPROGRESS, 1) + self.pycurl.setopt(pycurl.NOBODY, 1) + self.pycurl.perform() + self.pycurl.setopt(pycurl.NOPROGRESS, 0) + self.pycurl.setopt(pycurl.NOBODY, 0) + return self.header self.pycurl.perform() -- cgit v1.2.3 From 4e86c166dc20a8f4d1000e65120508c425f5b794 Mon Sep 17 00:00:00 2001 From: spoob Date: Tue, 15 Dec 2009 22:47:26 +0100 Subject: Fixed LinkList.py and .part renaming --- module/network/Request.py | 53 ++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 26 deletions(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index cda8e50f1..f9a5cce0f 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -222,7 +222,7 @@ class Request: self.opener.add_handler(handler) self.downloader.add_handler(handler) - def download(self, url, file_name, folder="", get={}, post={}, ref=True, cookies=False): + def download(self, url, file_name, get={}, post={}, ref=True, cookies=False): if post: post = urllib.urlencode(post) @@ -236,8 +236,7 @@ class Request: get = "" if self.curl: - - file_temp = file_name + ".part" + file_temp = self.get_free_name(file_name + ".part") fp = open(file_temp, 'wb') self.init_curl() @@ -261,30 +260,19 @@ class Request: self.dl = True self.pycurl.perform() - if "..." in file_name: - download_folder = dirname(file_name) + sep - headers = self.get_header() - file_name_search = re.search('filename=(?P\")?(.+)(?(quote)\")', headers) - if file_name_search: - file_name = file_name_search.group(2) - if "?=" in file_name[-3:]: - file_name = file_name.replace("=?UTF-8?B?", "").replace("?=", "==") - file_name = b64decode(file_name) - file_name = download_folder + sep + file_name + #~ if "..." in file_name: + #~ download_folder = dirname(file_name) + sep + #~ headers = self.get_header() + #~ file_name_search = re.search('filename=(?P\")?(.+)(?(quote)\")', headers) + #~ if file_name_search: + #~ file_name = file_name_search.group(2) + #~ if "?=" in file_name[-3:]: + #~ file_name = file_name.replace("=?UTF-8?B?", "").replace("?=", "==") + #~ file_name = b64decode(file_name) + #~ file_name = download_folder + sep + file_name - file_count = 0 - while exists(file_name): - file_count += 1 - if "." in file_name: - file_split = file_name.split(".") - temp_name = "%s-%i.%s" % (".".join(file_split[:-1]), file_count, file_split[-1]) - else: - temp_name = "%s-%i" % (file_name, file_count) - if not exists(temp_name): - file_name = temp_name - - rename(file_temp, file_name) - + rename(file_temp, self.get_free_name(file_name)) + self.dl = False self.dl_finished = time.time() @@ -362,6 +350,19 @@ class Request: self.dl_arrived = int(dl_d) self.dl_size = int(dl_t) + def get_free_name(self, file_name): + file_count = 0 + while exists(file_name): + file_count += 1 + if "." in file_name: + file_split = file_name.split(".") + temp_name = "%s-%i.%s" % (".".join(file_split[:-1]), file_count, file_split[-1]) + else: + temp_name = "%s-%i" % (file_name, file_count) + if not exists(temp_name): + file_name = temp_name + return file_name + if __name__ == "__main__": import doctest doctest.testmod() -- cgit v1.2.3 From eaacfaf05e5209e07a8dd73e750f0adbabf20def Mon Sep 17 00:00:00 2001 From: spoob Date: Wed, 16 Dec 2009 11:24:25 +0100 Subject: Fixed Rapidshare.com --- module/network/Request.py | 1 - 1 file changed, 1 deletion(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index f9a5cce0f..c6127c20b 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -152,7 +152,6 @@ class Request: return self.get_rep() - else: req = urllib2.Request(url, data=post) -- cgit v1.2.3 From 1d7dc2ca5db0119e01547cd7b01fb77720450d1c Mon Sep 17 00:00:00 2001 From: RaNaN Date: Sat, 19 Dec 2009 00:26:38 +0100 Subject: cleaned --- module/network/Request.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index c6127c20b..7cdae7c0f 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -5,16 +5,13 @@ """ authored by: RaNaN, Spoob """ -import os import base64 import cookielib from gzip import GzipFile import time -import re from os import sep, rename -from os.path import dirname, exists +from os.path import exists import urllib -from base64 import b64decode from cStringIO import StringIO try: -- cgit v1.2.3 From a5ff0482ede8bd7bd932482887f2f7cdae5039d9 Mon Sep 17 00:00:00 2001 From: mkaay Date: Wed, 23 Dec 2009 00:04:36 +0100 Subject: core: downloadlimit is not far away ;) gui: restart download action --- module/network/Request.py | 130 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 110 insertions(+), 20 deletions(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index 7cdae7c0f..ab90044d3 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -15,7 +15,8 @@ import urllib from cStringIO import StringIO try: - import pycurl + #import pycurl + raise Exception except: import urllib2 from Keepalive import HTTPHandler @@ -49,12 +50,22 @@ class Request: self.auth = False self.timeout = 5 - + + bufferBase = 1024 + bufferMulti = 2 + self.bufferSize = bufferBase*bufferMulti + self.canContinue = False + + self.dl_speed = 0.0 + + self.speedLimitActive = False + self.maxSpeed = 100 * 1024 + try: if pycurl: self.curl = True except: self.curl = False - + if self.curl: self.init_curl() @@ -98,6 +109,7 @@ class Request: self.pycurl.setopt(pycurl.PROGRESSFUNCTION, self.progress) self.pycurl.setopt(pycurl.AUTOREFERER, 1) self.pycurl.setopt(pycurl.HEADERFUNCTION, self.write_header) + self.pycurl.setopt(pycurl.BUFFERSIZE, self.bufferSize) self.pycurl.setopt(pycurl.USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.10") @@ -150,6 +162,7 @@ class Request: return self.get_rep() else: + req = urllib2.Request(url, data=post) if ref and self.lastURL is not None: @@ -159,12 +172,13 @@ class Request: self.add_cookies(req) #add cookies - rep = self.opener.open(req) + rep = self.opener.open(req, timeout=2) for cookie in self.cj.make_cookies(rep, req): self.cookies.append(cookie) - - output = rep.read() + + if not just_header: + output = rep.read() if rep.headers.has_key("content-encoding"): if rep.headers["content-encoding"] == "gzip": @@ -172,6 +186,9 @@ class Request: self.lastEffectiveURL = rep.geturl() self.lastURL = url + + if just_header: + return rep.headers return output @@ -232,13 +249,16 @@ class Request: get = "" if self.curl: - file_temp = self.get_free_name(file_name + ".part") - fp = open(file_temp, 'wb') + file_temp = self.get_free_name(file_name) + ".part" + self.fp = open(file_temp, 'wb') + if not self.canContinue: + self.fp.truncate() + partSize = self.fp.tell() self.init_curl() self.pycurl.setopt(pycurl.URL, url) - self.pycurl.setopt(pycurl.WRITEDATA, fp) + #self.pycurl.setopt(pycurl.WRITEDATA, fp) if cookies: self.curl_enable_cookies() @@ -254,7 +274,45 @@ class Request: self.dl_arrived = 0 self.dl_time = time.time() self.dl = True - + + self.chunkSize = 0 # only for loop to start + self.chunkRead = 0 + self.subStartTime = 0 + self.maxChunkSize = 0 + + def restLimit(): + subTime = time.time() - self.subStartTime + if subTime <= 1: + if self.speedLimitActive: + return self.maxChunkSize + else: + return -1 + else: + self.dl_speed = float(self.chunkRead/1024) / subTime + + self.subStartTime = time.time() + self.chunkRead = 0 + if self.maxSpeed > 0: + self.maxChunkSize = self.maxSpeed + else: + self.maxChunkSize = 0 + return 0 + + def writefunc(buf): + if self.abort: + raise AbortDownload + chunkSize = len(buf) + while chunkSize > restLimit() > -1: + time.sleep(0.05) + self.maxChunkSize -= chunkSize + self.fp.write(buf) + self.chunkRead += chunkSize + self.dl_arrived += chunkSize + + + self.pycurl.setopt(pycurl.WRITEFUNCTION, writefunc) + + self.pycurl.perform() #~ if "..." in file_name: #~ download_folder = dirname(file_name) + sep @@ -266,14 +324,17 @@ class Request: #~ file_name = file_name.replace("=?UTF-8?B?", "").replace("?=", "==") #~ file_name = b64decode(file_name) #~ file_name = download_folder + sep + file_name - + + self.fp.close() + + if self.abort: + raise AbortDownload + rename(file_temp, self.get_free_name(file_name)) self.dl = False self.dl_finished = time.time() - fp.close() - return True else: @@ -290,10 +351,15 @@ class Request: for cookie in self.cj.make_cookies(rep, req): self.cookies.append(cookie) - + + self.dl = False if not self.dl: self.dl = True - file = open(file_name, 'wb') + file_temp = self.get_free_name(file_name) + ".part" + file = open(file_temp, 'wb') + if not self.canContinue: + file.truncate() + partSize = file.tell() conn = self.downloader.open(req, post) if conn.headers.has_key("content-length"): @@ -302,14 +368,37 @@ class Request: self.dl_size = 0 self.dl_arrived = 0 self.dl_time = time.time() - for chunk in conn: - if self.abort: raise AbortDownload - self.dl_arrived += len(chunk) - file.write(chunk) + + chunkSize = 1 + while chunkSize > 0: + if self.abort: + break + chunkRead = 0 + if not self.speedLimitActive: + maxChunkSize = -1 + elif self.maxSpeed > 0: + maxChunkSize = self.maxSpeed + else: + maxChunkSize = 0 + subStartTime = time.time() + while (time.time() - subStartTime) <= 1: + if maxChunkSize == -1 or chunkRead <= maxChunkSize: + chunk = conn.read(self.bufferSize) + chunkSize = len(chunk) + file.write(chunk) + self.dl_arrived += chunkSize + chunkRead += chunkSize + else: + time.sleep(0.05) + subTime = time.time() - subStartTime + self.dl_speed = float(chunkRead/1024) / subTime file.close() + if self.abort: + raise AbortDownload self.dl = False self.dl_finished = time.time() + rename(file_temp, self.get_free_name(file_name)) return True def write_header(self, string): @@ -328,7 +417,8 @@ class Request: def get_speed(self): try: - return (self.dl_arrived / ((time.time() if self.dl else self.dl_finished) - self.dl_time)) / 1024 + #return (self.dl_arrived / ((time.time() if self.dl else self.dl_finished) - self.dl_time)) / 1024 + return self.dl_speed except: return 0 -- cgit v1.2.3 From e069eb9d6e201aedf16917781649fa05203562eb Mon Sep 17 00:00:00 2001 From: mkaay Date: Wed, 23 Dec 2009 00:05:46 +0100 Subject: oops --- module/network/Request.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index ab90044d3..4aca935dc 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -15,8 +15,7 @@ import urllib from cStringIO import StringIO try: - #import pycurl - raise Exception + import pycurl except: import urllib2 from Keepalive import HTTPHandler -- cgit v1.2.3 From 5ee3579572b60bb8f9e6475a517d69462b0cfe29 Mon Sep 17 00:00:00 2001 From: mkaay Date: Wed, 23 Dec 2009 21:04:06 +0100 Subject: download speed limit --- module/network/Request.py | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index 4aca935dc..752c16f04 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -51,14 +51,19 @@ class Request: self.timeout = 5 bufferBase = 1024 - bufferMulti = 2 + bufferMulti = 4 self.bufferSize = bufferBase*bufferMulti self.canContinue = False self.dl_speed = 0.0 + self.averageSpeed = 0.0 + self.averageSpeeds = [] + self.averageSpeedTime = 0.0 + self.averageSpeedCount = 0.0 self.speedLimitActive = False - self.maxSpeed = 100 * 1024 + self.maxSpeed = 0 + self.isSlow = False try: if pycurl: self.curl = True @@ -171,7 +176,7 @@ class Request: self.add_cookies(req) #add cookies - rep = self.opener.open(req, timeout=2) + rep = self.opener.open(req) for cookie in self.cj.make_cookies(rep, req): self.cookies.append(cookie) @@ -287,7 +292,7 @@ class Request: else: return -1 else: - self.dl_speed = float(self.chunkRead/1024) / subTime + self.updateCurrentSpeed(float(self.chunkRead/1024) / subTime) self.subStartTime = time.time() self.chunkRead = 0 @@ -390,7 +395,7 @@ class Request: else: time.sleep(0.05) subTime = time.time() - subStartTime - self.dl_speed = float(chunkRead/1024) / subTime + self.updateCurrentSpeed(float(chunkRead/1024) / subTime) file.close() if self.abort: @@ -399,7 +404,24 @@ class Request: self.dl_finished = time.time() rename(file_temp, self.get_free_name(file_name)) return True - + + def updateCurrentSpeed(self, speed): + self.dl_speed = speed + if self.averageSpeedTime + 10 < time.time(): + self.averageSpeeds = [] + self.averageSpeeds.append(self.averageSpeed) + self.averageSpeeds.append(speed) + self.averageSpeed = (speed + self.averageSpeed)/2 + self.averageSpeedTime = time.time() + self.averageSpeedCount = 2 + else: + self.averageSpeeds.append(speed) + self.averageSpeedCount += 1 + allspeed = 0.0 + for s in self.averageSpeeds: + allspeed += s + self.averageSpeed = allspeed / self.averageSpeedCount + def write_header(self, string): self.header += string -- cgit v1.2.3 From ea04c11ce1fb52895449a56e862eff5448ea456a Mon Sep 17 00:00:00 2001 From: mkaay Date: Thu, 24 Dec 2009 01:28:08 +0100 Subject: downloads are now aborted correctly, gui: remove downloads, new icons --- module/network/Request.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index 752c16f04..651553a0f 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -304,7 +304,7 @@ class Request: def writefunc(buf): if self.abort: - raise AbortDownload + return False chunkSize = len(buf) while chunkSize > restLimit() > -1: time.sleep(0.05) @@ -316,8 +316,12 @@ class Request: self.pycurl.setopt(pycurl.WRITEFUNCTION, writefunc) - - self.pycurl.perform() + try: + self.pycurl.perform() + except Exception, e: + code, msg = e + if not code == 23: + raise Exception, e #~ if "..." in file_name: #~ download_folder = dirname(file_name) + sep #~ headers = self.get_header() @@ -438,7 +442,6 @@ class Request: def get_speed(self): try: - #return (self.dl_arrived / ((time.time() if self.dl else self.dl_finished) - self.dl_time)) / 1024 return self.dl_speed except: return 0 @@ -453,7 +456,8 @@ class Request: return (self.dl_size - self.dl_arrived) / 1024 def progress(self, dl_t, dl_d, up_t, up_d): - if self.abort: raise AbortDownload + if self.abort: + return False self.dl_arrived = int(dl_d) self.dl_size = int(dl_t) -- cgit v1.2.3 From 504b313112be6a82d6eee418ae059646ecfc4b30 Mon Sep 17 00:00:00 2001 From: mkaay Date: Sat, 26 Dec 2009 20:18:11 +0100 Subject: fixed ddl-music, cleaned up, new status (starting), some more fixes --- module/network/Request.py | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index 651553a0f..c6d6f0901 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -144,7 +144,8 @@ class Request: if cookies: self.curl_enable_cookies() - if post: self.pycurl.setopt(pycurl.POSTFIELDS, post) + if post: + self.pycurl.setopt(pycurl.POSTFIELDS, post) if ref and self.lastURL is not None: self.pycurl.setopt(pycurl.REFERER, self.lastURL) @@ -158,7 +159,7 @@ class Request: return self.header self.pycurl.perform() - + self.lastEffectiveURL = self.pycurl.getinfo(pycurl.EFFECTIVE_URL) self.lastURL = url header = self.get_header() @@ -262,12 +263,12 @@ class Request: self.init_curl() self.pycurl.setopt(pycurl.URL, url) - #self.pycurl.setopt(pycurl.WRITEDATA, fp) if cookies: self.curl_enable_cookies() - if post: self.pycurl.setopt(pycurl.POSTFIELDS, post) + if post: + self.pycurl.setopt(pycurl.POSTFIELDS, post) if self.auth: self.add_auth(self.user, self.pw) @@ -279,7 +280,7 @@ class Request: self.dl_time = time.time() self.dl = True - self.chunkSize = 0 # only for loop to start + self.chunkSize = 0 self.chunkRead = 0 self.subStartTime = 0 self.maxChunkSize = 0 @@ -322,16 +323,6 @@ class Request: code, msg = e if not code == 23: raise Exception, e - #~ if "..." in file_name: - #~ download_folder = dirname(file_name) + sep - #~ headers = self.get_header() - #~ file_name_search = re.search('filename=(?P\")?(.+)(?(quote)\")', headers) - #~ if file_name_search: - #~ file_name = file_name_search.group(2) - #~ if "?=" in file_name[-3:]: - #~ file_name = file_name.replace("=?UTF-8?B?", "").replace("?=", "==") - #~ file_name = b64decode(file_name) - #~ file_name = download_folder + sep + file_name self.fp.close() -- cgit v1.2.3 From 4690417077a7374c99ed980430f44b829296ed26 Mon Sep 17 00:00:00 2001 From: mkaay Date: Sat, 26 Dec 2009 22:45:13 +0100 Subject: fixed rs auth (pycurl doesn't like unicode) --- module/network/Request.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index c6d6f0901..d1280f591 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -207,13 +207,14 @@ class Request: self.auth = True self.user = user self.pw = pw - + + upwstr = str("%s:%s" % (user,pw)) if self.curl: - self.pycurl.setopt(pycurl.HTTPHEADER, ['Authorization: Basic ' + base64.encodestring(user + ':' + pw)[:-1]]) - self.pycurl.setopt(pycurl.USERPWD, user + ":" + pw) + self.pycurl.setopt(pycurl.HTTPHEADER, ['Authorization: Basic ' + base64.encodestring(upwstr)[:-1]]) + self.pycurl.setopt(pycurl.USERPWD, upwstr) self.pycurl.setopt(pycurl.HTTPAUTH, pycurl.HTTPAUTH_ANY) else: - self.downloader.addheaders.append(['Authorization', 'Basic ' + base64.encodestring(user + ':' + pw)[:-1]]) + self.downloader.addheaders.append(['Authorization', 'Basic ' + base64.encodestring(upwstr)[:-1]]) def add_cookies(self, req): cookie_head = "" -- cgit v1.2.3 From 9908e7c4841b3a109ee28575052c489728d59f0f Mon Sep 17 00:00:00 2001 From: mkaay Date: Mon, 28 Dec 2009 23:00:57 +0100 Subject: UploadedTo indirect download fix --- module/network/Request.py | 1 + 1 file changed, 1 insertion(+) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index d1280f591..9155185fd 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -154,6 +154,7 @@ class Request: self.pycurl.setopt(pycurl.NOPROGRESS, 1) self.pycurl.setopt(pycurl.NOBODY, 1) self.pycurl.perform() + self.lastEffectiveURL = self.pycurl.getinfo(pycurl.EFFECTIVE_URL) self.pycurl.setopt(pycurl.NOPROGRESS, 0) self.pycurl.setopt(pycurl.NOBODY, 0) return self.header -- cgit v1.2.3 From 2edf36eb45d427262e9f83af90b8b4fc2f69aab8 Mon Sep 17 00:00:00 2001 From: spoob Date: Fri, 15 Jan 2010 15:03:00 +0100 Subject: Better Argument Parsing in Core, littel fixes --- module/network/Request.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'module/network/Request.py') diff --git a/module/network/Request.py b/module/network/Request.py index 9155185fd..dfe29e62d 100755 --- a/module/network/Request.py +++ b/module/network/Request.py @@ -125,6 +125,8 @@ class Request: def load(self, url, get={}, post={}, ref=True, cookies=False, just_header=False): + url = str(url) + if post: post = urllib.urlencode(post) else: @@ -244,6 +246,8 @@ class Request: def download(self, url, file_name, get={}, post={}, ref=True, cookies=False): + url = str(url) + if post: post = urllib.urlencode(post) else: -- cgit v1.2.3