Sun, 18 Mar 2012 15:05:38 +0100
Added a bookmarks importer for Google Chrome and Chromium.
1713
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de> |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Package implementing bookmarks importers for various sources. |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from PyQt4.QtCore import QCoreApplication |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import UI.PixmapCache |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
13 | import Globals |
1713
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | def getImporters(): |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | """ |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | Module function to get a list of supported importers. |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | @return list of tuples with an icon (QIcon), readable name (string) and |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | internal name (string) |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | """ |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
23 | importers = [] |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
24 | importers.append( |
1713
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | (UI.PixmapCache.getIcon("ericWeb48.png"), |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | "eric5 Web Browser", |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
27 | "e5browser")) |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
28 | importers.append( |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
29 | (UI.PixmapCache.getIcon("chrome.png"), |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
30 | "Google Chrome", |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
31 | "chrome")) |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
32 | if not Globals.isWindowsPlatform() and not Globals.isMacPlatform(): |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
33 | importers.append( |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
34 | (UI.PixmapCache.getIcon("chromium.png"), |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
35 | "Chromium", |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
36 | "chromium")) |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
37 | importers.append( |
1713
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | (UI.PixmapCache.getIcon("xbel.png"), |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | QCoreApplication.translate("BookmarksImporters", "XBEL File"), |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
40 | "xbel")) |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
41 | importers.append( |
1713
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | (UI.PixmapCache.getIcon("html.png"), |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | QCoreApplication.translate("BookmarksImporters", "HTML File"), |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
44 | "html")) |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
45 | return importers |
1713
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | def getImporterInfo(id): |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | """ |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | Module function to get information for the given source id. |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | @param id source id to get info for (string) |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | @return tuple with an icon (QPixmap), readable name (string), name of |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | the default bookmarks file (string), an info text (string), |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | a prompt (string) and the default directory of the bookmarks file (string) |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | """ |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | if id in ["e5browser", "xbel"]: |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | from . import XbelImporter |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | return XbelImporter.getImporterInfo(id) |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | elif id == "html": |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | from . import HtmlImporter |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | return HtmlImporter.getImporterInfo(id) |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
63 | elif id in ["chrome", "chromium"]: |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
64 | from . import ChromeImporter |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
65 | return ChromeImporter.getImporterInfo(id) |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
66 | else: |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
67 | raise ValueError("Invalid importer ID given ({0}).".format(id)) |
1713
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | def getImporter(id, parent=None): |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | """ |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | Module function to get an importer for the given source id. |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | @param id source id to get an importer for (string) |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | @param parent reference to the parent object (QObject) |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | @return bookmarks importer (BookmarksImporter) |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | """ |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | if id in ["e5browser", "xbel"]: |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | from . import XbelImporter |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | return XbelImporter.XbelImporter(id, parent) |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | elif id == "html": |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | from . import HtmlImporter |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | return HtmlImporter.HtmlImporter(id, parent) |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
83 | elif id in ["chrome", "chromium"]: |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
84 | from . import ChromeImporter |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
85 | return ChromeImporter.ChromeImporter(id, parent) |
1713
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | else: |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | raise ValueError("No importer for ID {0}.".format(id)) |