Helpviewer/Bookmarks/BookmarksImporters/__init__.py

Mon, 19 Mar 2012 19:24:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 19 Mar 2012 19:24:12 +0100
changeset 1719
c65aefefa2ff
parent 1717
ba85828cd357
child 1720
201622cf8a01
permissions
-rw-r--r--

Fixed a little omission in the new bookmarks importers.

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

eric ide

mercurial