~stefan-schwarzburg/qreator/fix_bug_1208033

« back to all changes in this revision

Viewing changes to qreator/__init__.py

  • Committer: David Planella
  • Date: 2013-05-20 10:29:25 UTC
  • mfrom: (168.1.2 qreator_vendors)
  • Revision ID: david.planella@ubuntu.com-20130520102925-6vwex5zjm7gzng6y
Added vendor check support for plugins

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
from qreator_lib.i18n import _
20
20
from gi.repository import Gtk, Gdk, GLib, GObject  # pylint: disable=E0611
21
21
from qreator import QreatorWindow
22
 
from qreator_lib import set_up_logging, get_version
 
22
from qreator_lib import set_up_logging, get_version, VendorError
23
23
from qreator.qrcodes.QRCodeType import QRCodeType
 
24
import logging
24
25
 
25
26
# use dynamic importing to get all qrcode dataformats without
26
27
# knowing their names.
29
30
import pkgutil
30
31
import qreator.qrcodes
31
32
 
 
33
plugin_warnings = []
32
34
for qr in list(pkgutil.iter_modules(qreator.qrcodes.__path__)):
33
35
    name = "qreator.qrcodes." + qr[1]
34
 
    __import__(name, fromlist=[])
 
36
    try:
 
37
        __import__(name, fromlist=[])
 
38
    except VendorError as e:
 
39
        plugin_warnings.append("%s: %s." % (name, e))
35
40
 
36
41
 
37
42
def UTF8_(message):
65
70
    qr_types = [d(window.update_qr_code) for d in QRCodeType.dataformats]
66
71
    options = parse_options(qr_types)
67
72
 
 
73
    logger = logging.getLogger('qrcodes')
 
74
    for plugin_warning in plugin_warnings:
 
75
        logger.warn(plugin_warning)
 
76
    
68
77
    window.qr_types = qr_types
69
78
    window.show()
70
79
    if getattr(options, 'view', None) is not None: