mirror of
https://github.com/r4sas/py-i2phosts
synced 2025-01-22 12:34:17 +00:00
py-i2phosts-fetcher: rewrite fething errors handling
There were some changes between python 2.6 and 2.7 in urllib2 module affected raising exceptions, so just update our behavior.
This commit is contained in:
parent
22ef66ac48
commit
f917b819da
@ -10,6 +10,7 @@ import subprocess
|
||||
import argparse
|
||||
import configobj
|
||||
import tempfile
|
||||
import socket
|
||||
|
||||
# parse command line options
|
||||
parser = argparse.ArgumentParser(
|
||||
@ -76,17 +77,19 @@ for source in all_sources:
|
||||
try:
|
||||
log.debug('%s: sending GET...', source.name)
|
||||
resp = opener.open(source.url, timeout=60)
|
||||
except socket.timeout:
|
||||
log.warning('%s: socket timeout', source.name)
|
||||
continue
|
||||
except urllib2.HTTPError, e:
|
||||
if e.code == 304:
|
||||
log.info('%s: not modified', source.name)
|
||||
source.last_success = datetime.datetime.utcnow()
|
||||
source.save()
|
||||
else:
|
||||
log.warning('%s: can\'t finish the request, error code: %s, reason: %s', source.name, e.code, e.reason)
|
||||
continue
|
||||
except urllib2.URLError, e:
|
||||
if hasattr(e, 'reason'):
|
||||
log.warning('%s: failed to reach server, reason: %s', source.name, e.reason)
|
||||
elif hasattr(e, 'code'):
|
||||
if e.code == 304:
|
||||
log.info('%s: not modified', source.name)
|
||||
source.last_success = datetime.datetime.utcnow()
|
||||
source.save()
|
||||
else:
|
||||
log.warning('%s: %s can\'t finish the request, error code: %s',
|
||||
source.name, e.code)
|
||||
log.warning('%s: failed to reach server, reason: %s', source.name, e.reason)
|
||||
continue
|
||||
# read data from remote and write it to local file
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user