Sun, 18 Mar 2012 16:15:50 +0100
Added a bookmarks importer for Opera.
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( |
1715
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
25 | (UI.PixmapCache.getIcon("ericWeb48.png"), "eric5 Web Browser", "e5browser")) |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
26 | importers.append( |
1715
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
27 | (UI.PixmapCache.getIcon("chrome.png"), "Google Chrome", "chrome")) |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
28 | 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
|
29 | importers.append( |
1715
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
30 | (UI.PixmapCache.getIcon("chromium.png"), "Chromium", "chromium")) |
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
31 | importers.append( |
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
32 | (UI.PixmapCache.getIcon("opera.png"), "Opera", "opera")) |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
33 | 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
|
34 | (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
|
35 | 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
|
36 | "xbel")) |
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("html.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", "HTML File"), |
1714
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
40 | "html")) |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
41 | return importers |
1715
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
42 | # TODO: importers for Safari, Firefox, IE |
1713
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | 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
|
46 | """ |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | 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
|
48 | |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | @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
|
50 | @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
|
51 | 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
|
52 | 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
|
53 | """ |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | 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
|
55 | 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
|
56 | 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
|
57 | 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
|
58 | 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
|
59 | 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
|
60 | 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
|
61 | from . import ChromeImporter |
e9bd88363184
Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1713
diff
changeset
|
62 | return ChromeImporter.getImporterInfo(id) |
1715
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
63 | elif id == "opera": |
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
64 | from . import OperaImporter |
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
65 | return OperaImporter.getImporterInfo(id) |
1714
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) |
1715
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
86 | elif id == "opera": |
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
87 | from . import OperaImporter |
558e44df025a
Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1714
diff
changeset
|
88 | return OperaImporter.OperaImporter(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
|
89 | else: |
56fdde8a2441
Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | raise ValueError("No importer for ID {0}.".format(id)) |