WebBrowser/Bookmarks/BookmarksImporters/__init__.py

branch
QtWebEngine
changeset 4732
5ac4fc1dfc20
parent 4631
5c1a96925da4
child 5389
9b1c800daff3
equal deleted inserted replaced
4731:67d861d9e492 4732:5ac4fc1dfc20
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2012 - 2016 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Package implementing bookmarks importers for various sources.
8 """
9
10 from __future__ import unicode_literals
11
12 from PyQt5.QtCore import QCoreApplication
13
14 import UI.PixmapCache
15 import Globals
16
17
18 def getImporters():
19 """
20 Module function to get a list of supported importers.
21
22 @return list of tuples with an icon (QIcon), readable name (string) and
23 internal name (string)
24 """
25 importers = []
26 importers.append(
27 (UI.PixmapCache.getIcon("ericWeb48.png"), "eric6 Web Browser",
28 "e5browser"))
29 importers.append(
30 (UI.PixmapCache.getIcon("firefox.png"), "Mozilla Firefox", "firefox"))
31 importers.append(
32 (UI.PixmapCache.getIcon("chrome.png"), "Google Chrome", "chrome"))
33 if Globals.isLinuxPlatform():
34 importers.append(
35 (UI.PixmapCache.getIcon("chromium.png"), "Chromium", "chromium"))
36 importers.append(
37 (UI.PixmapCache.getIcon("konqueror.png"), "Konqueror",
38 "konqueror"))
39 importers.append(
40 (UI.PixmapCache.getIcon("opera.png"), "Opera", "opera"))
41 importers.append(
42 (UI.PixmapCache.getIcon("safari.png"), "Apple Safari", "safari"))
43 if Globals.isWindowsPlatform():
44 importers.append(
45 (UI.PixmapCache.getIcon("internet_explorer.png"),
46 "Internet Explorer", "ie"))
47 importers.append(
48 (UI.PixmapCache.getIcon("xbel.png"),
49 QCoreApplication.translate("BookmarksImporters", "XBEL File"),
50 "xbel"))
51 importers.append(
52 (UI.PixmapCache.getIcon("html.png"),
53 QCoreApplication.translate("BookmarksImporters", "HTML File"),
54 "html"))
55 return importers
56
57
58 def getImporterInfo(id):
59 """
60 Module function to get information for the given source id.
61
62 @param id source id to get info for (string)
63 @return tuple with an icon (QPixmap), readable name (string), name of
64 the default bookmarks file (string), an info text (string),
65 a prompt (string) and the default directory of the bookmarks
66 file (string)
67 @exception ValueError raised to indicate an unsupported importer
68 """
69 if id in ["e5browser", "xbel", "konqueror"]:
70 from . import XbelImporter
71 return XbelImporter.getImporterInfo(id)
72 elif id == "html":
73 from . import HtmlImporter
74 return HtmlImporter.getImporterInfo(id)
75 elif id in ["chrome", "chromium"]:
76 from . import ChromeImporter
77 return ChromeImporter.getImporterInfo(id)
78 elif id == "opera":
79 from . import OperaImporter
80 return OperaImporter.getImporterInfo(id)
81 elif id == "firefox":
82 from . import FirefoxImporter
83 return FirefoxImporter.getImporterInfo(id)
84 elif id == "ie":
85 from . import IExplorerImporter
86 return IExplorerImporter.getImporterInfo(id)
87 elif id == "safari":
88 from . import SafariImporter
89 return SafariImporter.getImporterInfo(id)
90 else:
91 raise ValueError("Invalid importer ID given ({0}).".format(id))
92
93
94 def getImporter(id, parent=None):
95 """
96 Module function to get an importer for the given source id.
97
98 @param id source id to get an importer for (string)
99 @param parent reference to the parent object (QObject)
100 @return bookmarks importer (BookmarksImporter)
101 @exception ValueError raised to indicate an unsupported importer
102 """
103 if id in ["e5browser", "xbel", "konqueror"]:
104 from . import XbelImporter
105 return XbelImporter.XbelImporter(id, parent)
106 elif id == "html":
107 from . import HtmlImporter
108 return HtmlImporter.HtmlImporter(id, parent)
109 elif id in ["chrome", "chromium"]:
110 from . import ChromeImporter
111 return ChromeImporter.ChromeImporter(id, parent)
112 elif id == "opera":
113 from . import OperaImporter
114 return OperaImporter.OperaImporter(id, parent)
115 elif id == "firefox":
116 from . import FirefoxImporter
117 return FirefoxImporter.FirefoxImporter(id, parent)
118 elif id == "ie":
119 from . import IExplorerImporter
120 return IExplorerImporter.IExplorerImporter(id, parent)
121 elif id == "safari":
122 from . import SafariImporter
123 return SafariImporter.SafariImporter(id, parent)
124 else:
125 raise ValueError("No importer for ID {0}.".format(id))

eric ide

mercurial