URI: 
       tadd plugins to package - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit cec21870109dbe081a8efd3e8d1a61317f88a99c
   DIR parent 190f733de23c44a8f216ad1d796df7a58c01499b
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Sun,  3 Mar 2013 16:33:09 +0100
       
       add plugins to package
       
       Diffstat:
         M gui/gui_classic.py                  |      44 ++++++++++++++++---------------
         M setup.py                            |       9 ++++++---
       
       2 files changed, 29 insertions(+), 24 deletions(-)
       ---
   DIR diff --git a/gui/gui_classic.py b/gui/gui_classic.py
       t@@ -326,14 +326,16 @@ class ElectrumWindow(QMainWindow):
        
            # plugins
            def init_plugins(self):
       +        import imp, pkgutil
                if os.path.exists("plugins"):
       -            import imp, pkgutil
                    fp, pathname, description = imp.find_module('plugins')
                    imp.load_module('electrum_plugins', fp, pathname, description)
                    plugin_names = [name for a, name, b in pkgutil.iter_modules(['plugins'])]
                    self.plugins = map(lambda name: imp.load_source('electrum_plugins.'+name, os.path.join(pathname,name+'.py')), plugin_names)
                else:
       -            self.plugins = []
       +            import electrum_plugins
       +            plugin_names = [name for a, name, b in pkgutil.iter_modules(electrum_plugins.__path__)]
       +            self.plugins = [ __import__('electrum_plugins.'+name, fromlist=['electrum_plugins']) for name in plugin_names]
        
                self.plugin_hooks = {}
                for p in self.plugins:
       t@@ -2041,25 +2043,25 @@ class ElectrumWindow(QMainWindow):
                grid_raw.setRowStretch(3,1)
        
                # plugins
       -        tab5 = QWidget()
       -        grid_plugins = QGridLayout(tab5)
       -        grid_plugins.setColumnStretch(0,1)
       -        tabs.addTab(tab5, _('Plugins') )
       -        def mk_toggle(cb, p):
       -            return lambda: cb.setChecked(p.toggle(self))
       -        for i, p in enumerate(self.plugins):
       -            try:
       -                name, description = p.get_info()
       -                cb = QCheckBox(name)
       -                cb.setChecked(p.is_enabled())
       -                cb.stateChanged.connect(mk_toggle(cb,p))
       -                grid_plugins.addWidget(cb, i, 0)
       -                grid_plugins.addWidget(HelpButton(description), i, 2)
       -            except:
       -                print_msg("Error: cannot display plugin", p)
       -                traceback.print_exc(file=sys.stdout)
       -
       -        grid_plugins.setRowStretch(i+1,1)
       +        if self.plugins:
       +            tab5 = QWidget()
       +            grid_plugins = QGridLayout(tab5)
       +            grid_plugins.setColumnStretch(0,1)
       +            tabs.addTab(tab5, _('Plugins') )
       +            def mk_toggle(cb, p):
       +                return lambda: cb.setChecked(p.toggle(self))
       +            for i, p in enumerate(self.plugins):
       +                try:
       +                    name, description = p.get_info()
       +                    cb = QCheckBox(name)
       +                    cb.setChecked(p.is_enabled())
       +                    cb.stateChanged.connect(mk_toggle(cb,p))
       +                    grid_plugins.addWidget(cb, i, 0)
       +                    grid_plugins.addWidget(HelpButton(description), i, 2)
       +                except:
       +                    print_msg("Error: cannot display plugin", p)
       +                    traceback.print_exc(file=sys.stdout)
       +            grid_plugins.setRowStretch(i+1,1)
        
                vbox.addLayout(ok_cancel_buttons(d))
                d.setLayout(vbox) 
   DIR diff --git a/setup.py b/setup.py
       t@@ -45,7 +45,7 @@ data_files += [
        setup(name = "Electrum",
            version = version.ELECTRUM_VERSION,
            install_requires = ['slowaes','ecdsa'],
       -    package_dir = {'electrum': 'lib', 'electrum_gui': 'gui'},
       +    package_dir = {'electrum': 'lib', 'electrum_gui': 'gui', 'electrum_plugins':'plugins'},
            scripts= ['electrum'],
            data_files = data_files,
            py_modules = ['electrum.version',
       t@@ -70,11 +70,14 @@ setup(name = "Electrum",
                          'electrum_gui.exchange_rate',
                          'electrum_gui.icons_rc',
                          'electrum_gui.pyqrnative',
       -                  'electrum_gui.qrscanner',
       +                  'electrum_gui.qrcodewidget',
                          'electrum_gui.history_widget',
                          'electrum_gui.receiving_widget',
                          'electrum_gui.bmp',
       -                  'electrum_gui.i18n'],
       +                  'electrum_gui.i18n',
       +                  'electrum_plugins.pointofsale',
       +                  'electrum_plugins.qrscanner',
       +                  ],
            description = "Lightweight Bitcoin Wallet",
            author = "ecdsa",
            author_email = "ecdsa@github",