def _get_extension_info(self, ext_id: str, prefs: ExtensionPreferences, error: ExtError = None) -> ExtensionInfo: ext_db = ExtensionDb.get_instance() is_connected = True try: ExtensionServer.get_instance().get_controller(ext_id) except KeyError: is_connected = False ext_runner = ExtensionRunner.get_instance() is_running = is_connected or ext_runner.is_running(ext_id) ext_db_record = ext_db.find(ext_id, {}) return { 'id': ext_id, 'url': ext_db_record.get('url'), 'updated_at': ext_db_record.get('updated_at'), 'last_commit': ext_db_record.get('last_commit'), 'last_commit_time': ext_db_record.get('last_commit_time'), 'name': prefs.manifest.get_name(), 'icon': prefs.manifest.get_icon_path(), 'description': prefs.manifest.get_description(), 'developer_name': prefs.manifest.get_developer_name(), 'preferences': prefs.get_items(), 'error': error, 'is_running': is_running, 'runtime_error': ext_runner.get_extension_error(ext_id) if not is_running else None }
def _get_extension_info(self, ext_id, prefs): ext_db = ExtensionDb.get_instance() ext_db_record = ext_db.find(ext_id, {}) return { 'id': ext_id, 'url': ext_db_record.get('url'), 'updated_at': ext_db_record.get('updated_at'), 'last_commit': ext_db_record.get('last_commit'), 'last_commit_time': ext_db_record.get('last_commit_time'), 'name': prefs.manifest.get_name(), 'icon': prefs.manifest.get_icon_path(), 'description': prefs.manifest.get_description(), 'developer_name': prefs.manifest.get_developer_name(), 'preferences': prefs.get_items() }
def get_instance(cls) -> 'ExtensionDownloader': ext_db = ExtensionDb.get_instance() ext_runner = ExtensionRunner.get_instance() return cls(ext_db, ext_runner)
def ext_db(self, tmpdir): return ExtensionDb(os.path.join(str(tmpdir), 'extensions.json')).open()