Ejemplo n.º 1
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.plugin_manager = PluginManager.get_instance()
        MainWindow.instance = self
        self.collection = Collection.get_instance()

        self.setupUi(self)
        self.showMaximized()
        self.setUnifiedTitleAndToolBarOnMac(True)
        #  TODO clean toolbar code?
        # self.createToolbar()
        self.views = None
        self.view = "dashboard"
        # self.views = self.init_views()
        # self.display_view('dashboard')
        self.statusbar.hide()
        # Menu actions
        self.help_menu = self.menuBar().addMenu("&Help")
        self.about_action = QtGui.QAction(
            "&About", self, statusTip="Show the application's About box", triggered=self.about
        )
        self.help_menu.addAction(self.about_action)
        # Connect menu actions
        self.actionView_Dashboard.triggered.connect(lambda: self.display_view("dashboard"))
        self.connect(
            self.actionQuick_search, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("quicksearch")
        )
        self.connect(self.actionFullscreen, QtCore.SIGNAL(_fromUtf8("triggered()")), self.switch_fullscreen)
        self.connect(
            self.actionDiscover, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("discover")
        )
        self.connect(
            self.actionPreferences, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("preferences")
        )
        self.connect(
            self.actionProperties, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("properties")
        )
        self.connect(
            self.actionAdvanced_Search, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("filters")
        )
        self.connect(self.actionImport, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("import"))
        self.connect(self.actionExport, QtCore.SIGNAL(_fromUtf8("triggered()")), lambda: self.display_view("export"))
Ejemplo n.º 2
0
 def setUp(self):
     PluginManager._instance = None
     self.manager = PluginManager(
         ['PluginHello'],
         {'PluginHello': type('mock', (str,), {})()})
Ejemplo n.º 3
0
class TestPluginManager(unittest.TestCase):

    def setUp(self):
        PluginManager._instance = None
        self.manager = PluginManager(
            ['PluginHello'],
            {'PluginHello': type('mock', (str,), {})()})

    def test_disable_not_a_list(self):
        self.assertRaises(TypeError, self.manager.disable, 'PluginHello')

    def test_enable_not_a_list(self):
        self.assertRaises(TypeError, self.manager.enable, 'PluginHello')

    def test_boot_enabled(self):
        self.assertTrue('PluginHello' in self.manager.get_enabled())

    def test_disable_item(self):
        self.assertTrue('PluginHello' in self.manager.get_enabled())
        self.manager.disable(['PluginHello'])
        self.assertFalse('PluginHello' in self.manager.get_enabled())
        self.assertTrue('PluginHello' in self.manager.get_disabled())

    def test_enable_item(self):
        self.manager.disable(['PluginHello'])
        self.assertFalse('PluginHello' in self.manager.get_enabled())
        self.manager.enable(['PluginHello'])
        self.assertTrue('PluginHello' in self.manager.get_enabled())
        self.assertFalse('PluginHello' in self.manager.get_disabled())

    def test_load_enabled_and_run(self):
        path = os.path.join(os.path.dirname(__file__),
                            'data', 'plugins')
        self.manager.look_for_plugins([path])
        execution_result = self.manager.get('PluginHello').results
        self.assertEqual(execution_result, 'Hello world')

    def test_filter(self):
        result = self.manager.filter(str)
        self.assertEquals(result, ['PluginHello'])