Helpviewer/Bookmarks/BookmarksImporters/__init__.py

Mon, 19 Mar 2012 20:14:07 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 19 Mar 2012 20:14:07 +0100
changeset 1720
201622cf8a01
parent 1719
c65aefefa2ff
child 1729
66b9dc45f2bd
permissions
-rw-r--r--

Added a bookmarks importer for Apple Safari.

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(
1716
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1715
diff changeset
27 (UI.PixmapCache.getIcon("firefox.png"), "Mozilla Firefox", "firefox"))
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1715
diff changeset
28 importers.append(
1715
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
29 (UI.PixmapCache.getIcon("chrome.png"), "Google Chrome", "chrome"))
1716
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1715
diff changeset
30 if Globals.isLinuxPlatform():
1714
e9bd88363184 Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1713
diff changeset
31 importers.append(
1715
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
32 (UI.PixmapCache.getIcon("chromium.png"), "Chromium", "chromium"))
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
33 importers.append(
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
34 (UI.PixmapCache.getIcon("opera.png"), "Opera", "opera"))
1720
201622cf8a01 Added a bookmarks importer for Apple Safari.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1719
diff changeset
35 importers.append(
201622cf8a01 Added a bookmarks importer for Apple Safari.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1719
diff changeset
36 (UI.PixmapCache.getIcon("safari.png"), "Apple Safari", "safari"))
1717
ba85828cd357 Added a bookmarks importer for Internet Explorer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
37 if Globals.isWindowsPlatform():
ba85828cd357 Added a bookmarks importer for Internet Explorer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
38 importers.append(
ba85828cd357 Added a bookmarks importer for Internet Explorer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
39 (UI.PixmapCache.getIcon("internet_explorer.png"), "Internet Explorer", "ie"))
1714
e9bd88363184 Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1713
diff changeset
40 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
41 (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
42 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
43 "xbel"))
e9bd88363184 Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1713
diff changeset
44 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
45 (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
46 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
47 "html"))
e9bd88363184 Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1713
diff changeset
48 return importers
1719
c65aefefa2ff Fixed a little omission in the new bookmarks importers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1717
diff changeset
49 # TODO: importers for Safari
1713
56fdde8a2441 Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
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 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
53 """
56fdde8a2441 Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 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
55
56fdde8a2441 Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 @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
57 @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
58 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
59 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
60 """
56fdde8a2441 Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 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
62 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
63 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
64 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
65 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
66 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
67 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
68 from . import ChromeImporter
e9bd88363184 Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1713
diff changeset
69 return ChromeImporter.getImporterInfo(id)
1715
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
70 elif id == "opera":
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
71 from . import OperaImporter
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
72 return OperaImporter.getImporterInfo(id)
1716
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1715
diff changeset
73 elif id == "firefox":
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1715
diff changeset
74 from . import FirefoxImporter
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1715
diff changeset
75 return FirefoxImporter.getImporterInfo(id)
1717
ba85828cd357 Added a bookmarks importer for Internet Explorer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
76 elif id == "ie":
ba85828cd357 Added a bookmarks importer for Internet Explorer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
77 from . import IExplorerImporter
ba85828cd357 Added a bookmarks importer for Internet Explorer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
78 return IExplorerImporter.getImporterInfo(id)
1720
201622cf8a01 Added a bookmarks importer for Apple Safari.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1719
diff changeset
79 elif id == "safari":
201622cf8a01 Added a bookmarks importer for Apple Safari.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1719
diff changeset
80 from . import SafariImporter
201622cf8a01 Added a bookmarks importer for Apple Safari.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1719
diff changeset
81 return SafariImporter.getImporterInfo(id)
1714
e9bd88363184 Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1713
diff changeset
82 else:
e9bd88363184 Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1713
diff changeset
83 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
84
56fdde8a2441 Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 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
86 """
56fdde8a2441 Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 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
88
56fdde8a2441 Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 @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
90 @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
91 @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
92 """
56fdde8a2441 Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 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
94 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
95 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
96 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
97 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
98 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
99 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
100 from . import ChromeImporter
e9bd88363184 Added a bookmarks importer for Google Chrome and Chromium.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1713
diff changeset
101 return ChromeImporter.ChromeImporter(id, parent)
1715
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
102 elif id == "opera":
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
103 from . import OperaImporter
558e44df025a Added a bookmarks importer for Opera.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1714
diff changeset
104 return OperaImporter.OperaImporter(id, parent)
1716
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1715
diff changeset
105 elif id == "firefox":
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1715
diff changeset
106 from . import FirefoxImporter
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1715
diff changeset
107 return FirefoxImporter.FirefoxImporter(id, parent)
1717
ba85828cd357 Added a bookmarks importer for Internet Explorer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
108 elif id == "ie":
ba85828cd357 Added a bookmarks importer for Internet Explorer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
109 from . import IExplorerImporter
ba85828cd357 Added a bookmarks importer for Internet Explorer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
110 return IExplorerImporter.IExplorerImporter(id, parent)
1720
201622cf8a01 Added a bookmarks importer for Apple Safari.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1719
diff changeset
111 elif id == "safari":
201622cf8a01 Added a bookmarks importer for Apple Safari.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1719
diff changeset
112 from . import SafariImporter
201622cf8a01 Added a bookmarks importer for Apple Safari.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1719
diff changeset
113 return SafariImporter.SafariImporter(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
114 else:
56fdde8a2441 Added a bookmarks importer to get them directly from other browsers files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 raise ValueError("No importer for ID {0}.".format(id))

eric ide

mercurial