Wed, 09 Nov 2022 11:32:13 +0100
Corrected some code style issues.
# -*- coding: utf-8 -*- # Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> # """ Package implementing bookmarks importers for various sources. """ import importlib from PyQt6.QtCore import QCoreApplication from eric7 import Globals from eric7.EricGui import EricPixmapCache def getImporters(): """ Module function to get a list of supported importers. @return list of tuples with an icon (QIcon), readable name (string) and internal name (string) """ importers = [] importers.append( (EricPixmapCache.getIcon("ericWeb48"), "eric Web Browser", "e5browser") ) importers.append((EricPixmapCache.getIcon("firefox"), "Mozilla Firefox", "firefox")) importers.append((EricPixmapCache.getIcon("chrome"), "Google Chrome", "chrome")) if Globals.isLinuxPlatform(): importers.append((EricPixmapCache.getIcon("chromium"), "Chromium", "chromium")) importers.append( (EricPixmapCache.getIcon("konqueror"), "Konqueror", "konqueror") ) importers.append((EricPixmapCache.getIcon("opera"), "Opera", "opera")) importers.append((EricPixmapCache.getIcon("safari"), "Apple Safari", "safari")) if Globals.isWindowsPlatform(): importers.append( (EricPixmapCache.getIcon("internet_explorer"), "Internet Explorer", "ie") ) importers.append( ( EricPixmapCache.getIcon("xbel"), QCoreApplication.translate("BookmarksImporters", "XBEL File"), "xbel", ) ) importers.append( ( EricPixmapCache.getIcon("html"), QCoreApplication.translate("BookmarksImporters", "HTML File"), "html", ) ) return importers def getImporterInfo(sourceId): """ Module function to get information for the given source id. @param sourceId source id to get info for @type str @return tuple with an icon, readable name, name of the default bookmarks file, an info text, a prompt and the default directory of the bookmarks file @rtype tuple of (QPixmap, str, str, str, str, str) """ mod = getImporterModule(sourceId) return mod.getImporterInfo(sourceId) def getImporter(sourceId, parent=None): """ Module function to get an importer for the given source id. @param sourceId source id to get an importer for @type str @param parent reference to the parent object @type QObject @return bookmarks importer @rtype BookmarksImporter """ mod = getImporterModule(sourceId) return mod.createImporter(sourceId=sourceId, parent=parent) def getImporterModule(sourceId): """ Function to get a bookmark importer module for a given source. @param sourceId source id to get an importer module for @type str @return reference to the imported module @rtype module @exception ValueError raised to indicate an unsupported importer """ importerMapping = { "chrome": ".ChromeImporter", "chromium": ".ChromeImporter", "e5browser": ".XbelImporter", "firefox": ".FirefoxImporter", "html": ".HtmlImporter", "ie": ".IExplorerImporter", "konqueror": ".XbelImporter", "opera": ".OperaImporter", "safari": ".SafariImporter", "xbel": ".XbelImporter", } if sourceId in importerMapping: return importlib.import_module(importerMapping[sourceId], __package__) raise ValueError("Invalid importer ID given ({0}).".format(sourceId))