src/eric7/WebBrowser/Bookmarks/BookmarksImporters/__init__.py

Wed, 13 Jul 2022 14:55:47 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 13 Jul 2022 14:55:47 +0200
branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
permissions
-rw-r--r--

Reformatted the source code using the 'Black' utility.

# -*- coding: utf-8 -*-

# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
Package implementing bookmarks importers for various sources.
"""

from PyQt6.QtCore import QCoreApplication

import UI.PixmapCache
import Globals


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(
        (UI.PixmapCache.getIcon("ericWeb48"), "eric Web Browser", "e5browser")
    )
    importers.append((UI.PixmapCache.getIcon("firefox"), "Mozilla Firefox", "firefox"))
    importers.append((UI.PixmapCache.getIcon("chrome"), "Google Chrome", "chrome"))
    if Globals.isLinuxPlatform():
        importers.append((UI.PixmapCache.getIcon("chromium"), "Chromium", "chromium"))
        importers.append(
            (UI.PixmapCache.getIcon("konqueror"), "Konqueror", "konqueror")
        )
    importers.append((UI.PixmapCache.getIcon("opera"), "Opera", "opera"))
    importers.append((UI.PixmapCache.getIcon("safari"), "Apple Safari", "safari"))
    if Globals.isWindowsPlatform():
        importers.append(
            (UI.PixmapCache.getIcon("internet_explorer"), "Internet Explorer", "ie")
        )
    importers.append(
        (
            UI.PixmapCache.getIcon("xbel"),
            QCoreApplication.translate("BookmarksImporters", "XBEL File"),
            "xbel",
        )
    )
    importers.append(
        (
            UI.PixmapCache.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 (string)
    @return tuple with an icon (QPixmap), readable name (string), name of
        the default bookmarks file (string), an info text (string),
        a prompt (string) and the default directory of the bookmarks
        file (string)
    @exception ValueError raised to indicate an unsupported importer
    """
    if sourceId in ["e5browser", "xbel", "konqueror"]:
        from . import XbelImporter

        return XbelImporter.getImporterInfo(sourceId)
    elif sourceId == "html":
        from . import HtmlImporter

        return HtmlImporter.getImporterInfo(sourceId)
    elif sourceId in ["chrome", "chromium"]:
        from . import ChromeImporter

        return ChromeImporter.getImporterInfo(sourceId)
    elif sourceId == "opera":
        from . import OperaImporter

        return OperaImporter.getImporterInfo(sourceId)
    elif sourceId == "firefox":
        from . import FirefoxImporter

        return FirefoxImporter.getImporterInfo(sourceId)
    elif sourceId == "ie":
        from . import IExplorerImporter

        return IExplorerImporter.getImporterInfo(sourceId)
    elif sourceId == "safari":
        from . import SafariImporter

        return SafariImporter.getImporterInfo(sourceId)
    else:
        raise ValueError("Invalid importer ID given ({0}).".format(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 (string)
    @param parent reference to the parent object (QObject)
    @return bookmarks importer (BookmarksImporter)
    @exception ValueError raised to indicate an unsupported importer
    """
    if sourceId in ["e5browser", "xbel", "konqueror"]:
        from . import XbelImporter

        return XbelImporter.XbelImporter(sourceId, parent)
    elif sourceId == "html":
        from . import HtmlImporter

        return HtmlImporter.HtmlImporter(sourceId, parent)
    elif sourceId in ["chrome", "chromium"]:
        from . import ChromeImporter

        return ChromeImporter.ChromeImporter(sourceId, parent)
    elif sourceId == "opera":
        from . import OperaImporter

        return OperaImporter.OperaImporter(sourceId, parent)
    elif sourceId == "firefox":
        from . import FirefoxImporter

        return FirefoxImporter.FirefoxImporter(sourceId, parent)
    elif sourceId == "ie":
        from . import IExplorerImporter

        return IExplorerImporter.IExplorerImporter(sourceId, parent)
    elif sourceId == "safari":
        from . import SafariImporter

        return SafariImporter.SafariImporter(sourceId, parent)
    else:
        raise ValueError("No importer for ID {0}.".format(sourceId))

eric ide

mercurial