56 |
58 |
57 def getImporterInfo(sourceId): |
59 def getImporterInfo(sourceId): |
58 """ |
60 """ |
59 Module function to get information for the given source id. |
61 Module function to get information for the given source id. |
60 |
62 |
61 @param sourceId source id to get info for (string) |
63 @param sourceId source id to get info for |
62 @return tuple with an icon (QPixmap), readable name (string), name of |
64 @type str |
63 the default bookmarks file (string), an info text (string), |
65 @return tuple with an icon, readable name, name of the default bookmarks file, |
64 a prompt (string) and the default directory of the bookmarks |
66 an info text, a prompt and the default directory of the bookmarks file |
65 file (string) |
67 @rtype tuple of (QPixmap, str, str, str, str, str) |
66 @exception ValueError raised to indicate an unsupported importer |
68 @exception ValueError raised to indicate an unsupported importer |
67 """ |
69 """ |
68 if sourceId in ["e5browser", "xbel", "konqueror"]: |
70 mod = getImporterModule(sourceId) |
69 from . import XbelImporter # __IGNORE_WARNING_I101__ |
71 return mod.getImporterInfo(sourceId) |
70 |
|
71 return XbelImporter.getImporterInfo(sourceId) |
|
72 elif sourceId == "html": |
|
73 from . import HtmlImporter # __IGNORE_WARNING_I101__ |
|
74 |
|
75 return HtmlImporter.getImporterInfo(sourceId) |
|
76 elif sourceId in ["chrome", "chromium"]: |
|
77 from . import ChromeImporter # __IGNORE_WARNING_I101__ |
|
78 |
|
79 return ChromeImporter.getImporterInfo(sourceId) |
|
80 elif sourceId == "opera": |
|
81 from . import OperaImporter # __IGNORE_WARNING_I101__ |
|
82 |
|
83 return OperaImporter.getImporterInfo(sourceId) |
|
84 elif sourceId == "firefox": |
|
85 from . import FirefoxImporter # __IGNORE_WARNING_I101__ |
|
86 |
|
87 return FirefoxImporter.getImporterInfo(sourceId) |
|
88 elif sourceId == "ie": |
|
89 from . import IExplorerImporter # __IGNORE_WARNING_I101__ |
|
90 |
|
91 return IExplorerImporter.getImporterInfo(sourceId) |
|
92 elif sourceId == "safari": |
|
93 from . import SafariImporter # __IGNORE_WARNING_I101__ |
|
94 |
|
95 return SafariImporter.getImporterInfo(sourceId) |
|
96 else: |
|
97 raise ValueError("Invalid importer ID given ({0}).".format(sourceId)) |
|
98 |
72 |
99 |
73 |
100 def getImporter(sourceId, parent=None): |
74 def getImporter(sourceId, parent=None): |
101 """ |
75 """ |
102 Module function to get an importer for the given source id. |
76 Module function to get an importer for the given source id. |
103 |
77 |
104 @param sourceId source id to get an importer for (string) |
78 @param sourceId source id to get an importer for |
105 @param parent reference to the parent object (QObject) |
79 @type str |
106 @return bookmarks importer (BookmarksImporter) |
80 @param parent reference to the parent object |
|
81 @type QObject |
|
82 @return bookmarks importer |
|
83 @rtype BookmarksImporter |
107 @exception ValueError raised to indicate an unsupported importer |
84 @exception ValueError raised to indicate an unsupported importer |
108 """ |
85 """ |
109 if sourceId in ["e5browser", "xbel", "konqueror"]: |
86 mod = getImporterModule(sourceId) |
110 from . import XbelImporter # __IGNORE_WARNING_I101__ |
87 return mod.createImporter(sourceId=sourceId, parent=parent) |
111 |
88 |
112 return XbelImporter.XbelImporter(sourceId, parent) |
|
113 elif sourceId == "html": |
|
114 from . import HtmlImporter # __IGNORE_WARNING_I101__ |
|
115 |
89 |
116 return HtmlImporter.HtmlImporter(sourceId, parent) |
90 def getImporterModule(sourceId): |
117 elif sourceId in ["chrome", "chromium"]: |
91 """ |
118 from . import ChromeImporter # __IGNORE_WARNING_I101__ |
92 Function |
119 |
93 |
120 return ChromeImporter.ChromeImporter(sourceId, parent) |
94 @param sourceId source id to get an importer module for |
121 elif sourceId == "opera": |
95 @type str |
122 from . import OperaImporter # __IGNORE_WARNING_I101__ |
96 @return reference to the imported module |
|
97 @rtype module |
|
98 @exception ValueError raised to indicate an unsupported importer |
|
99 """ |
|
100 importerMapping = { |
|
101 "chrome": "ChromeImporter", |
|
102 "chromium": "ChromeImporter", |
|
103 "e5browser": "XbelImporter", |
|
104 "firefox": "FirefoxImporter", |
|
105 "html": "HtmlImporter", |
|
106 "ie": "IExplorerImporter", |
|
107 "konqueror": "XbelImporter", |
|
108 "opera": "OperaImporter", |
|
109 "safari": "SafariImporter", |
|
110 "xbel": "XbelImporter", |
|
111 } |
|
112 if sourceId in importerMapping: |
|
113 return importlib.import_module( |
|
114 "eric7.WebBrowser.Bookmarks.BookmarksImporters.{0}".format( |
|
115 importerMapping[sourceId] |
|
116 ) |
|
117 ) |
123 |
118 |
124 return OperaImporter.OperaImporter(sourceId, parent) |
119 raise ValueError("Invalid importer ID given ({0}).".format(sourceId)) |
125 elif sourceId == "firefox": |
|
126 from . import FirefoxImporter # __IGNORE_WARNING_I101__ |
|
127 |
|
128 return FirefoxImporter.FirefoxImporter(sourceId, parent) |
|
129 elif sourceId == "ie": |
|
130 from . import IExplorerImporter # __IGNORE_WARNING_I101__ |
|
131 |
|
132 return IExplorerImporter.IExplorerImporter(sourceId, parent) |
|
133 elif sourceId == "safari": |
|
134 from . import SafariImporter # __IGNORE_WARNING_I101__ |
|
135 |
|
136 return SafariImporter.SafariImporter(sourceId, parent) |
|
137 else: |
|
138 raise ValueError("No importer for ID {0}.".format(sourceId)) |
|