summaryrefslogtreecommitdiffstats
path: root/module/network
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2010-12-25 11:38:11 +0100
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2010-12-25 11:38:11 +0100
commite70ba609af6793e26857d88e496860114ccac103 (patch)
treeae2ab2892e88b640b8ff6d7ed02417431f6efdcc /module/network
parentcatch socket exceptions (diff)
downloadpyload-e70ba609af6793e26857d88e496860114ccac103.tar.xz
cleanup stuff
Diffstat (limited to 'module/network')
-rw-r--r--module/network/Browser.py9
-rw-r--r--module/network/HTTPBase.py35
-rw-r--r--module/network/HTTPDownload.py4
3 files changed, 30 insertions, 18 deletions
diff --git a/module/network/Browser.py b/module/network/Browser.py
index 512a437ed..23fe4993c 100644
--- a/module/network/Browser.py
+++ b/module/network/Browser.py
@@ -131,11 +131,6 @@ class Browser(object):
d.addCallback(self._removeConnection, d)
return d
- #compatibility wrapper
- def clean(self):
- self.log.warning("Browser: deprecated call 'clean'")
- print_stack()
-
def load(self, url, get={}, post={}, ref=True, cookies=True, just_header=False, no_post_encode=False, raw_cookies={}):
self.log.warning("Browser: deprecated call 'load'")
print_stack()
@@ -152,6 +147,10 @@ class Browser(object):
return filename
+ def clean(self):
+ """ cleanup """
+ self.http.clean()
+
if __name__ == "__main__":
browser = Browser()#proxies={"socks5": "localhost:5000"})
ip = "http://www.whatismyip.com/automation/n09230945.asp"
diff --git a/module/network/HTTPBase.py b/module/network/HTTPBase.py
index 7627c8499..ca3737bff 100644
--- a/module/network/HTTPBase.py
+++ b/module/network/HTTPBase.py
@@ -34,6 +34,7 @@ from httplib import HTTPResponse
from httplib import responses as HTTPStatusCodes
from httplib import ResponseNotReady
from httplib import BadStatusLine
+from httplib import CannotSendRequest
from CookieJar import CookieJar
from CookieRedirectHandler import CookieRedirectHandler
@@ -180,19 +181,17 @@ class PyLoadHTTPHandler(HTTPHandler):
def _start_connection(self, h, req):
data = ""
- try:
- if req.has_data():
- data = req.get_data()
- h.putrequest('POST', req.get_selector(), skip_accept_encoding=1)
- if not req.headers.has_key('Content-type'):
- h.putheader('Content-type',
- 'application/x-www-form-urlencoded')
- if not req.headers.has_key('Content-length'):
- h.putheader('Content-length', '%d' % len(data))
- else:
- h.putrequest('GET', req.get_selector(), skip_accept_encoding=1)
- except socket.error, err:
- raise URLError(err)
+
+ if req.has_data():
+ data = req.get_data()
+ h.putrequest('POST', req.get_selector(), skip_accept_encoding=1)
+ if not req.headers.has_key('Content-type'):
+ h.putheader('Content-type',
+ 'application/x-www-form-urlencoded')
+ if not req.headers.has_key('Content-length'):
+ h.putheader('Content-length', '%d' % len(data))
+ else:
+ h.putrequest('GET', req.get_selector(), skip_accept_encoding=1)
for args in self.parent.addheaders:
h.putheader(*args)
@@ -216,6 +215,8 @@ class PyLoadHTTPHandler(HTTPHandler):
r = None
except BadStatusLine:
r = None
+ except CannotSendRequest:
+ r = None
else:
try: r = h.getresponse()
except ResponseNotReady: r = None
@@ -372,6 +373,14 @@ class HTTPBase():
pass
return resp
+ def closeAll(self):
+ """ closes all connections """
+ self.handler.close_all()
+
+ def clean(self):
+ """ cleanup """
+ self.closeAll()
+
if __name__ == "__main__":
base = HTTPBase()
resp = base.getResponse("http://python.org/")
diff --git a/module/network/HTTPDownload.py b/module/network/HTTPDownload.py
index b81008cc5..117ecd0c6 100644
--- a/module/network/HTTPDownload.py
+++ b/module/network/HTTPDownload.py
@@ -304,6 +304,10 @@ class HTTPDownload():
else:
raise Exception("no chunks")
+ def clean(self):
+ """ cleanup """
+ pass
+
if __name__ == "__main__":
import sys
from Bucket import Bucket