def __init__(self, *args): PluginBase.__init__(self, REDBrick, *args) try: self.session = REDSession(self.device, self.increase_error_count).create() except Exception as e: self.session = None label = QLabel('Could not create session:\n\n{0}'.format(e)) label.setAlignment(Qt.AlignHCenter) layout = QVBoxLayout(self) layout.addStretch() layout.addWidget(label) layout.addStretch() return self.image_version = ImageVersion() self.label_version = None self.script_manager = ScriptManager(self.session) self.tabs = [] self.setupUi(self) self.tab_widget.hide() for i in range(self.tab_widget.count()): tab = self.tab_widget.widget(i) tab.session = self.session tab.script_manager = self.script_manager tab.image_version = self.image_version self.tabs.append(tab) self.tab_widget.currentChanged.connect(self.tab_widget_current_changed) actions = [] for param, name in enumerate([ 'Restart Brick Daemon', 'Reboot RED Brick', 'Shut down RED Brick' ]): action = QAction(name, self) action.triggered.connect( functools.partial(self.perform_action, param)) actions.append(action) self.set_actions(['System', actions]) # FIXME: RED Brick doesn't do enumerate-connected callback correctly yet # for Brick(let)s connected to it. Trigger a enumerate to pick up # all devices connected to a RED Brick properly self.ipcon.enumerate()
def __init__(self, *args): PluginBase.__init__(self, REDBrick, *args) try: self.session = REDSession(self.device, self.increase_error_count).create() except Exception as e: self.session = None self.report_fatal_error('Could not create session', str(e), traceback.format_exc()) return try: self.script_manager = ScriptManager(self.session) except Exception as e: self.session.expire() self.session = None self.report_fatal_error('Could not create script manager', str(e), traceback.format_exc()) return self.image_version = ImageVersion() self.label_version = None self.tabs = [] self.setupUi(self) self.tab_widget.hide() for i in range(self.tab_widget.count()): tab = self.tab_widget.widget(i) tab.session = self.session tab.script_manager = self.script_manager tab.image_version = self.image_version self.tabs.append(tab) self.tab_widget.currentChanged.connect(self.tab_widget_current_changed) actions = [] for param, name in enumerate([ 'Restart Brick Daemon', 'Reboot RED Brick', 'Shut down RED Brick', 'Update Tinkerforge Software' ]): action = QAction(name, self) action.triggered.connect( functools.partial(self.perform_action, param)) actions.append(action) self.set_actions([(0, 'System', actions)]) self.dialog_update_tinkerforge_software = None # FIXME: RED Brick doesn't do enumerate-connected callback correctly yet # for Brick(let)s connected to it. Trigger a enumerate to pick up # all devices connected to a RED Brick properly self.ipcon.enumerate() self.extension_configs = [] self.completed_counter = 0 QTimer.singleShot( 250, functools.partial( self.query_image_version, functools.partial(self.query_extensions, self.query_bindings_versions)))