Http utils now supports logging on our main logger torrentSearch. Changed indentation and added better error handling for requests.urlopen which is the function that fetches from the internet.

This commit is contained in:
2017-12-22 11:41:03 +01:00
parent 060b54b029
commit b09695c0fd

View File

@@ -1,8 +1,12 @@
#!/usr/bin/env python3.6 #!/usr/bin/env python3.6
import logging
import sys
from urllib import parse, request from urllib import parse, request
from urllib.error import URLError from urllib.error import URLError
import logging
logger = logging.getLogger('torrentSearch')
def build_url(ssl, baseUrl, path, args_dict=[]): def build_url(ssl, baseUrl, path, args_dict=[]):
url_parts = list(parse.urlparse(baseUrl)) url_parts = list(parse.urlparse(baseUrl))
@@ -24,15 +28,16 @@ def convert_query_to_percent_encoded_octets(input_query):
return parse.quote(input_query) return parse.quote(input_query)
def fetch_url(url): def fetch_url(url):
logger.debug('Fetching query: {}'.format(url))
req = request.Request(url, headers={'User-Agent': 'Mozilla/5.0'}) req = request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
try: try:
response = request.urlopen(req) response = request.urlopen(req, timeout=10)
return response
except URLError as e: except URLError as e:
if hasattr(e, 'reason'): if hasattr(e, 'reason'):
logging.error('We failed to reach a server with request: %s' % req.full_url) logger.error('We failed to reach a server with request: %s' % req.full_url)
logging.error('Reason: %s' % e.reason) logger.error('Reason: %s' % e.reason)
elif hasattr(e, 'code'): elif hasattr(e, 'code'):
logging.error('The server couldn\'t fulfill the request.') logger.error('The server couldn\'t fulfill the request.')
logging.error('Error code: ', e.code) logger.error('Error code: ', e.code)
else: sys.exit()
return response