10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#
# Provides a http "GET" method, but also does POST and AJAX-
# simulating requests too. Hooks into mains gtk.statusbar().
# And can normalize URLs to always carry a trailing slash
# after the domain name.
from config import conf, __print__, dbg
import requests
#-- hooks to progress meter and status bar in main window
feedback = None
# Sets either text or percentage of main windows' status bar.
|
|
|
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#
# Provides a http "GET" method, but also does POST and AJAX-
# simulating requests too. Hooks into mains gtk.statusbar().
# And can normalize URLs to always carry a trailing slash
# after the domain name.
from config import *
import requests
#-- hooks to progress meter and status bar in main window
feedback = None
# Sets either text or percentage of main windows' status bar.
|
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#-- Retrieve data via HTTP
#
# Well, it says "get", but it actually does POST and AJAXish GET requests too.
#
def get(url, params={}, referer="", post=0, ajax=0, binary=0, feedback=None, content=True):
__print__( dbg.HTTP, "GET", url, params )
# statusbar info
progress_feedback(url)
# combine headers
headers = {}
if ajax:
|
|
|
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#-- Retrieve data via HTTP
#
# Well, it says "get", but it actually does POST and AJAXish GET requests too.
#
def get(url, params={}, referer="", post=0, ajax=0, binary=0, feedback=None, content=True):
log.HTTP("GET", url, params )
# statusbar info
progress_feedback(url)
# combine headers
headers = {}
if ajax:
|
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# read
if post:
r = session.post(url, params=params, headers=headers, timeout=7.5)
else:
r = session.get(url, params=params, headers=headers, timeout=9.75)
__print__( dbg.HTTP, r.request.headers );
__print__( dbg.HTTP, r.headers );
# finish, clean statusbar
#progress_feedback(0.9)
#progress_feedback("")
# result
__print__( dbg.INFO, "Content-Length", len(r.content) )
if not content:
return r
elif binary:
return r.content
else:
return r.text
|
|
|
|
|
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# read
if post:
r = session.post(url, params=params, headers=headers, timeout=7.5)
else:
r = session.get(url, params=params, headers=headers, timeout=9.75)
log.HTTP(r.request.headers );
log.HTTP(r.headers );
# finish, clean statusbar
#progress_feedback(0.9)
#progress_feedback("")
# result
log.INFO("Content-Length", len(r.content) )
if not content:
return r
elif binary:
return r.content
else:
return r.text
|