Commit a6ad7e83 authored by Laurent Bachelier's avatar Laurent Bachelier 🐧

Use newer form of catching exceptions

autopep8 -i --select=W602
Also some other minor deprecated syntax changes, like "while 1".
I did not commit the less obvious changes.
parent fb1b8bc5
......@@ -20,7 +20,7 @@
try:
import sqlite3 as sqlite
except ImportError, e:
except ImportError as e:
from pysqlite2 import dbapi2 as sqlite
from weboob.core import Weboob
......@@ -35,13 +35,13 @@ def main(filename):
weboob = Weboob()
try:
hds = weboob.build_backend('hds')
except ModuleLoadError, e:
except ModuleLoadError as e:
print >>sys.stderr, 'Unable to load "hds" module: %s' % e
return 1
try:
db = sqlite.connect(database=filename, timeout=10.0)
except sqlite.OperationalError, err:
except sqlite.OperationalError as err:
print >>sys.stderr, 'Unable to open %s database: %s' % (filename, err)
return 1
......@@ -49,7 +49,7 @@ def main(filename):
sys.stdout.flush()
try:
results = db.execute('SELECT id, author FROM stories')
except sqlite.OperationalError, err:
except sqlite.OperationalError as err:
print >>sys.stderr, 'fail!\nUnable to read database: %s' % err
return 1
......
......@@ -301,7 +301,7 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesPost, ICapDating, ICapCh
children=[],
flags=Message.IS_UNREAD)
yield thread.root
except BrowserUnavailable, e:
except BrowserUnavailable as e:
self.logger.debug('No messages, browser is unavailable: %s' % e)
pass # don't care about waiting
......
......@@ -197,7 +197,7 @@ class Decoder(object):
def main(self):
try:
while 1:
while True:
self.process()
except KeyboardInterrupt:
print ''
......
......@@ -131,7 +131,7 @@ class PriorityConnection(Optimization):
zipcode= 75001,
country= 'fr',
godfather= my_id)
except AccountRegisterError, e:
except AccountRegisterError as e:
self.logger.warning('Unable to register account: %s' % e)
except CaptchaError:
self.logger.warning('Unable to solve captcha... Retrying')
......@@ -156,12 +156,12 @@ class PriorityConnection(Optimization):
fakes = self.storage.get('priority_connection', 'fakes', default={})
if len(fakes) == 0:
return
while 1:
while True:
name = random.choice(fakes.keys())
fake = fakes[name]
try:
browser = AuMBrowser(fake['username'], fake['password'], proxy=self.browser.proxy)
except (AdopteBanned,BrowserIncorrectPassword), e:
except (AdopteBanned,BrowserIncorrectPassword) as e:
self.logger.warning('Fake %s can\'t login: %s' % (name, e))
continue
......
......@@ -97,7 +97,7 @@ class ProfilesWalker(Optimization):
# We consider this profil hasn't been [correctly] analysed
self.profiles_queue.add(id)
return
except Exception, e:
except Exception as e:
print e
finally:
if self.view_cron is not None:
......
......@@ -47,6 +47,6 @@ class Visibility(Optimization):
try:
with self.browser:
self.browser.login()
except BrowserUnavailable, e:
except BrowserUnavailable as e:
print str(e)
pass
......@@ -103,7 +103,7 @@ class BanquePopulaire(BaseBrowser):
account = self.get_account(account.id)
self.location('/cyber/internet/ContinueTask.do', urllib.urlencode(account._params))
while 1:
while True:
assert self.is_on_page(TransactionsPage)
for tr in self.page.get_history():
......
......@@ -101,7 +101,7 @@ class LoginPage(BEPage):
def login(self, login, password):
try:
vk = BNPVirtKeyboard(self)
except VirtKeyboardError, err:
except VirtKeyboardError as err:
self.logger.error("Error: %s" % err)
return False
......
......@@ -74,7 +74,7 @@ class LoginPage(BasePage):
def login(self, login, password):
try:
vk=BNPVirtKeyboard(self)
except VirtKeyboardError, err:
except VirtKeyboardError as err:
self.logger.error("Error: %s"%err)
return False
......@@ -111,7 +111,7 @@ class ChangePasswordPage(BasePage):
def change_password(self, current, new):
try:
vk=BNPVirtKeyboard(self)
except VirtKeyboardError, err:
except VirtKeyboardError as err:
self.logger.error("Error: %s"%err)
return False
......
......@@ -128,7 +128,7 @@ class BPBrowser(BaseBrowser):
"""
ops = self.page.get_history(deferred=True)
while 1:
while True:
for tr in ops:
yield tr
......
......@@ -55,7 +55,7 @@ class TransferSummary(BasePage):
#HACK for deal with bad encoding ...
try:
text = p.text
except UnicodeDecodeError, error:
except UnicodeDecodeError as error:
text = error.object.strip()
match = re.search("Votre virement N.+ ([0-9]+) ", text)
......
......@@ -104,7 +104,7 @@ class CaisseEpargne(BaseBrowser):
self.page.go_history(info)
while 1:
while True:
assert self.is_on_page(IndexPage)
for tr in self.page.get_history():
......
......@@ -86,7 +86,7 @@ class CreditCooperatif(BaseBrowser):
def get_history(self, account):
self.location('/banque/cpt/cpt/situationcomptes.do?lnkReleveAction=X&numeroExterne='+ account.id)
while 1:
while True:
assert self.is_on_page(TransactionsPage)
for tr in self.page.get_history():
......
......@@ -52,7 +52,7 @@ class CDNBasePage(BasePage):
if start < 0:
continue
while 1:
while True:
if value is None:
value = ''
else:
......
......@@ -189,7 +189,7 @@ class DLFP(BaseBrowser):
try:
self.submit()
except BrowserHTTPError, e:
except BrowserHTTPError as e:
raise CantSendMessage('Unable to send message to %s.%s: %s' % (thread, reply_id, e))
if self.is_on_page(NodePage):
......
......@@ -97,7 +97,7 @@ class GDCVaultBrowser(BaseBrowser):
try:
self.open_novisit(url)
#headers = req.info()
except HTTPError, e:
except HTTPError as e:
# print e.getcode()
if e.getcode() == 302 and hasattr(e, 'hdrs'):
#print e.hdrs['Location']
......
......@@ -113,7 +113,7 @@ class VideoPage(BasePage):
if len(obj) > 0:
try:
title = unicode(obj[0].text)
except UnicodeDecodeError, e:
except UnicodeDecodeError as e:
title = None
......@@ -125,7 +125,7 @@ class VideoPage(BasePage):
# FIXME: 1013483 has buggus title (latin1)
# for now we just pass it as-is
title = obj[0].attrib['content']
except UnicodeDecodeError, e:
except UnicodeDecodeError as e:
# XXX: this doesn't even works!?
title = obj[0].attrib['content'].decode('iso-5589-15')
......@@ -172,7 +172,7 @@ class VideoPage(BasePage):
#print req.code
except HTTPError, e:
except HTTPError as e:
#print e.getcode()
if e.getcode() == 302 and hasattr(e, 'hdrs'):
#print e.hdrs['Location']
......@@ -218,7 +218,7 @@ class VideoPage(BasePage):
self.browser.set_handle_redirect(False)
try:
self.browser.open_novisit(video.url)
except HTTPError, e:
except HTTPError as e:
if e.getcode() == 302 and hasattr(e, 'hdrs'):
video.url = unicode(e.hdrs['Location'])
self.browser.set_handle_redirect(True)
......@@ -298,7 +298,7 @@ class VideoPage(BasePage):
# 1016634 has "Invalid Date"
try:
video.date = parse_dt(obj.text)
except ValueError, e:
except ValueError as e:
video.date = NotAvailable
obj = self.parser.select(config.getroot(), 'duration', 1)
......
......@@ -86,7 +86,7 @@ class LoginPage(BasePage):
def login(self, login, password):
try:
vk=HelloBankVirtKeyboard(self)
except VirtKeyboardError,err:
except VirtKeyboardError as err:
self.logger.error("Error: %s"%err)
return False
......
......@@ -133,7 +133,7 @@ class Ing(BaseBrowser):
index = 0 # index, we get always the same page, but with more informations
hashlist = []
while 1:
while True:
i = index
for transaction in self.page.get_transactions(index):
while transaction.id in hashlist:
......@@ -227,7 +227,7 @@ class Ing(BaseBrowser):
"transfer_issuer_radio": subscription.id
}
self.location(self.billpage, urllib.urlencode(data))
while 1:
while True:
for bill in self.page.iter_bills(subscription.id):
yield bill
if self.page.islast():
......
......@@ -107,7 +107,7 @@ class LoginPage(BasePage):
# 2) And now, the virtual Keyboard
try:
vk = INGVirtKeyboard(self)
except VirtKeyboardError, err:
except VirtKeyboardError as err:
error("Error: %s" % err)
return False
realpasswd = ""
......
......@@ -156,7 +156,7 @@ class TransferConfirmPage(BasePage):
def confirm(self, password):
try:
vk = INGVirtKeyboard(self)
except VirtKeyboardError, err:
except VirtKeyboardError as err:
error("Error: %s" % err)
return
realpasswd = ""
......
......@@ -92,7 +92,7 @@ class LoginPage(BasePage):
def login(self, login, passwd, agency):
try:
vk=LCLVirtKeyboard(self)
except VirtKeyboardError,err:
except VirtKeyboardError as err:
error("Error: %s"%err)
return False
......
......@@ -198,7 +198,7 @@ class OkCBackend(BaseBackend, ICapMessages, ICapContact, ICapMessagesPost):
# if m.flags & m.IS_UNREAD:
# yield m
# except BrowserUnavailable, e:
# except BrowserUnavailable as e:
# self.logger.debug('No messages, browser is unavailable: %s' % e)
# pass # don't care about waiting
......
......@@ -122,7 +122,7 @@ class PastebinBrowser(BaseBrowser):
urllib.urlencode(data)).decode(self.ENCODING)
try:
self._validate_api_response(res)
except BadAPIRequest, e:
except BadAPIRequest as e:
if str(e) == 'invalid login':
raise BrowserIncorrectPassword()
else:
......
......@@ -96,7 +96,7 @@ class PhpBB(BaseBrowser):
assert self.is_on_page(TopicPage)
parent = 0
while 1:
while True:
for post in self.page.iter_posts():
if stop_id and post.id >= stop_id:
return
......@@ -117,7 +117,7 @@ class PhpBB(BaseBrowser):
assert self.is_on_page(TopicPage)
child = None
while 1:
while True:
for post in self.page.riter_posts():
if child:
child.parent = post.id
......
......@@ -38,6 +38,6 @@ class PiratebayTest(BackendTest):
assert isinstance(full_torrent.description, basestring)
try:
assert self.backend.get_torrent_file(torrent.id)
except MagnetOnly, e:
except MagnetOnly as e:
assert e.magnet.startswith('magnet:')
assert e.magnet == full_torrent.magnet
......@@ -69,7 +69,7 @@ class SeLogerBrowser(BaseBrowser):
self.location(self.buildurl('http://ws.seloger.com/search.xml', **data))
while 1:
while True:
assert self.is_on_page(SearchResultsPage)
for housing in self.page.iter_housings():
......
......@@ -149,7 +149,7 @@ class AccountHistory(BasePage):
# There are no transactions in this kind of account
return
while 1:
while True:
d = XML(self.browser.readurl(url))
try:
el = self.parser.select(d, '//dataBody', 1, 'xpath')
......
......@@ -64,7 +64,7 @@ class LoginPage(BasePage):
try:
img.build_tiles()
except TileError, err:
except TileError as err:
error("Error: %s" % err)
if err.tile:
err.tile.display()
......
......@@ -76,7 +76,7 @@ class LoginPage(SGPEPage):
try:
img.build_tiles()
except TileError, err:
except TileError as err:
error("Error: %s" % err)
if err.tile:
err.tile.display()
......
......@@ -118,7 +118,7 @@ class VideoPage(BasePage):
self.browser.set_handle_redirect(False)
try:
self.browser.open_novisit(v.url)
except HTTPError, e:
except HTTPError as e:
if e.getcode() == 302 and hasattr(e, 'hdrs'):
#print e.hdrs['Location']
v.url = unicode(e.hdrs['Location'])
......
......@@ -105,7 +105,7 @@ class YoutubeBackend(BaseBackend, ICapVideo, ICapCollection):
yt_service.ssl = True
try:
entry = yt_service.GetYouTubeVideoEntry(video_id=_id)
except gdata.service.Error, e:
except gdata.service.Error as e:
if e.args[0]['status'] == 400:
return None
raise
......
......@@ -14,7 +14,7 @@ for root, dirs, files in os.walk(sys.argv[1]):
s = "from %s import %s" % (root.strip('/').replace('/', '.'), f[:-3])
try:
exec s
except ImportError, e:
except ImportError as e:
print >>sys.stderr, str(e)
else:
m = eval(f[:-3])
......
......@@ -119,7 +119,7 @@ def main():
desc = ("", "U", imp.PY_SOURCE)
try:
script = imp.load_module("scripts.%s" % fname, f, tmpfile, desc)
except ImportError, e:
except ImportError as e:
print >>sys.stderr, "Unable to load the %s script (%s)" \
% (fname, e)
else:
......
......@@ -193,7 +193,7 @@ class Boobill(ReplApplication):
try:
with open(dest, 'w') as f:
f.write(buf)
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to write bill in "%s": %s' % (dest, e)
return 1
return
......@@ -210,7 +210,7 @@ class Boobill(ReplApplication):
try:
with open(dest, 'w') as f:
f.write(buf)
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to write bill in "%s": %s' % (dest, e)
return 1
......
......@@ -373,7 +373,7 @@ class Boobmsg(ReplApplication):
try:
self.do('post_message', message, backends=backend_name).wait()
except CallErrors, errors:
except CallErrors as errors:
self.bcall_errors_handler(errors)
else:
if self.interactive:
......
......@@ -490,11 +490,11 @@ class Cineoob(ReplApplication):
try:
with open(dest, 'w') as f:
f.write(buf)
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to write .torrent in "%s": %s' % (dest, e)
return 1
return
except CallErrors, errors:
except CallErrors as errors:
for backend, error, backtrace in errors:
if isinstance(error, MagnetOnly):
print >>sys.stderr, u'Error(%s): No direct URL available, ' \
......@@ -598,11 +598,11 @@ class Cineoob(ReplApplication):
try:
with open(dest, 'w') as f:
f.write(buf)
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to write file in "%s": %s' % (dest, e)
return 1
return
except CallErrors, errors:
except CallErrors as errors:
for backend, error, backtrace in errors:
self.bcall_error_handler(backend, error, backtrace)
......
......@@ -141,7 +141,7 @@ class Cookboob(ReplApplication):
try:
with codecs.open(dest, 'w', 'utf-8') as f:
f.write(xmlstring)
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to write .kreml in "%s": %s' % (dest, e)
return 1
return
......
......@@ -70,7 +70,7 @@ class HaveDate(Boobmsg):
try:
self.do('init_optimizations').wait()
except CallErrors, e:
except CallErrors as e:
self.bcall_errors_handler(e)
optimizations = self.storage.get('optims')
......@@ -157,7 +157,7 @@ class HaveDate(Boobmsg):
except KeyError:
pass
sys.stdout.write('.\n')
except CallErrors, errors:
except CallErrors as errors:
for backend, error, backtrace in errors:
if isinstance(error, OptimizationNotFound):
self.logger.error(u'Error(%s): Optimization "%s" not found' % (backend.name, optim_name))
......
......@@ -66,14 +66,14 @@ class MonboobScheduler(Scheduler):
port = self.app.options.smtpd
try:
FakeSMTPD(self.app, host, int(port))
except socket.error, e:
except socket.error as e:
self.logger.error('Unable to start the SMTP daemon: %s' % e)
return False
# XXX Fuck, we shouldn't copy this piece of code from
# weboob.scheduler.Scheduler.run().
try:
while 1:
while True:
self.stop_event.wait(0.1)
if self.app.options.smtpd:
asyncore.loop(timeout=0.1, count=1)
......@@ -178,10 +178,10 @@ class Monboob(ReplApplication):
content += unicode(s, charset)
else:
content += unicode(s)
except UnicodeError, e:
except UnicodeError as e:
self.logger.warning('Unicode error: %s' % e)
continue
except Exception, e:
except Exception as e:
self.logger.exception(e)
continue
else:
......@@ -235,7 +235,7 @@ class Monboob(ReplApplication):
content=content)
try:
backend.post_message(message)
except Exception, e:
except Exception as e:
content = u'Unable to send message to %s:\n' % thread_id
content += u'\n\t%s\n' % to_unicode(e)
if logging.root.level == logging.DEBUG:
......@@ -269,7 +269,7 @@ class Monboob(ReplApplication):
for backend, message in self.weboob.do('iter_unread_messages'):
if self.send_email(backend, message):
backend.set_message_read(message)
except CallErrors, e:
except CallErrors as e:
self.bcall_errors_handler(e)
def send_email(self, backend, mail):
......@@ -363,7 +363,7 @@ class Monboob(ReplApplication):
try:
smtp = SMTP(self.config.get('smtp'))
smtp.sendmail(sender, recipient, msg.as_string())
except Exception, e:
except Exception as e:
self.logger.error('Unable to deliver mail: %s' % e)
return False
else:
......
......@@ -88,7 +88,7 @@ class Pastoob(ReplApplication):
try:
with codecs.open(filename, encoding=locale.getpreferredencoding()) as fp:
contents = fp.read()
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to open file "%s": %s' % (filename, e.strerror)
return 1
......
......@@ -382,8 +382,7 @@ class MainWindow(QtMainWindow):
if self.ui.backendEdit.count() == 0:
self.backendsConfig()
langs = LANGUAGE_CONV.keys()
langs.sort()
langs = sorted(LANGUAGE_CONV.keys())
for lang in langs:
self.ui.langCombo.addItem(lang)
self.ui.langCombo.hide()
......
......@@ -33,8 +33,7 @@ class Movie(QFrame):
self.parent = parent
self.ui = Ui_Movie()
self.ui.setupUi(self)
langs = LANGUAGE_CONV.keys()
langs.sort()
langs = sorted(LANGUAGE_CONV.keys())
for lang in langs:
self.ui.langCombo.addItem(lang)
......
......@@ -82,7 +82,7 @@ class Subtitle(QFrame):
try:
with open(dest, 'w') as f:
f.write(data)
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to write subtitle file in "%s": %s' % (dest, e)
return 1
return
......@@ -86,7 +86,7 @@ class Torrent(QFrame):
try:
with open(unicode(dest), 'w') as f:
f.write(data)
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to write .torrent in "%s": %s' % (dest, e)
return 1
return
......@@ -105,7 +105,7 @@ class Recipe(QFrame):
try:
with codecs.open(dest, 'w', 'utf-8') as f:
f.write(data)
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to write Krecipe file in "%s": %s' % (dest, e)
return 1
return
......@@ -94,7 +94,7 @@ class Radioob(ReplApplication):
self.logger.debug(u'You can set the media_player key to the player you prefer in the radioob '
'configuration file.')
self.player.play(radio.streams[0], player_name=player_name, player_args=media_player_args)
except (InvalidMediaPlayer, MediaPlayerNotFound), e:
except (InvalidMediaPlayer, MediaPlayerNotFound) as e:
print '%s\nRadio URL: %s' % (e, radio.streams[0].url)
def complete_info(self, text, line, *ignored):
......
......@@ -157,7 +157,7 @@ class Suboob(ReplApplication):
try:
with open(dest, 'w') as f:
f.write(buf)
except IOError, e:
except IOError as e:
print >>sys.stderr, 'Unable to write file in "%s": %s' % (dest, e)
return 1
else:
......
......@@ -101,7 +101,7 @@ class Traveloob(ReplApplication):
try:
filters.departure_time = self.parse_datetime(self.options.departure_time)
filters.arrival_time = self.parse_datetime(self.options.arrival_time)
except ValueError, e:
except ValueError as e:
print >>sys.stderr, 'Invalid datetime value: %s' % e
print >>sys.stderr, 'Please enter a datetime in form "yyyy-mm-dd HH:MM" or "HH:MM".'
return 1
......
......@@ -154,7 +154,7 @@ class Videoob(ReplApplication):
self.logger.info(u'You can set the media_player key to the player you prefer in the videoob '
'configuration file.')
self.player.play(video, player_name=player_name, player_args=media_player_args)
except (InvalidMediaPlayer, MediaPlayerNotFound), e:
except (InvalidMediaPlayer, MediaPlayerNotFound) as e:
print '%s\nVideo URL: %s' % (e, video.url)
def complete_info(self, text, line, *ignored):
......
......@@ -113,7 +113,7 @@ class WebContentEdit(ReplApplication):
sys.stdout.flush()
try:
self.do('push_content', content, message, minor=minor, backends=[content.backend]).wait()
except CallErrors, e:
except CallErrors as e:
errors.errors += e.errors
sys.stdout.write(' error (content saved in %s)\n' % path)
else:
......@@ -136,7 +136,7 @@ class WebContentEdit(ReplApplication):
sys.stdout.flush()
try:
self.do('push_content', content, message, minor=minor, backends=[content.backend]).wait()
except CallErrors, e:
except CallErrors as e:
errors.errors += e.errors
sys.stdout.write(' error\n')
else:
......
......@@ -120,7 +120,7 @@ class WeboobCfg(ReplApplication):
for instance_name, name, params in sorted(self.weboob.backends_config.iter_backends()):