commit 438021c278906a08c2a74e154673a5e26cbfbedc Author: Isis Lovecruft isis@torproject.org Date: Sun Feb 1 00:13:25 2015 +0000
Change qrcode module import to be attempted only once. --- lib/bridgedb/qrcodes.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/lib/bridgedb/qrcodes.py b/lib/bridgedb/qrcodes.py index ae25f06..a76cf8f 100644 --- a/lib/bridgedb/qrcodes.py +++ b/lib/bridgedb/qrcodes.py @@ -16,6 +16,14 @@ import cStringIO import logging
+try: + import qrcode +except ImportError: + qrcode = False + logging.warn("Could not import Python qrcode module.") + logging.debug(("You'll need the qrcode Python module for this to " + "work. On Debian-based systems, this should be in the " + "python-qrcode package."))
def generateQR(bridgelines, imageFormat=u'JPEG'): """Generate a QRCode for the client's bridge lines. @@ -31,8 +39,10 @@ def generateQR(bridgelines, imageFormat=u'JPEG'): if not bridgelines: return
+ if not qrcode: + logging.info("Not creating QRCode for bridgelines; no qrcode module.") + try: - import qrcode
qr = qrcode.QRCode() qr.add_data(bridgelines) @@ -45,11 +55,6 @@ def generateQR(bridgelines, imageFormat=u'JPEG'):
return imgstr
- except ImportError as error: - logging.error(str(error)) - logging.debug(("You'll need the qrcode Python module for this to " - "work. On Debian-based systems, this should be in the " - "python-qrcode package.")) except KeyError as error: logging.error(str(error)) logging.debug(("It seems python-imaging doesn't understand how to "
tor-commits@lists.torproject.org