Helpviewer/Bookmarks/BookmarksImporters/FirefoxImporter.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 1716
d634df56a664
child 1725
d7a3430f7cbf
permissions
-rw-r--r--

Fixed a little omission in the new bookmarks importers.

1716
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2012 Detlev Offenbach <detlev@die-offenbachs.de>
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing an importer for Firefox bookmarks.
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt4.QtCore import QCoreApplication, QDate, Qt, QUrl
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt4.QtSql import QSqlDatabase, QSqlQuery
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from ..BookmarkNode import BookmarkNode
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from .BookmarksImporter import BookmarksImporter
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 import UI.PixmapCache
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 import Globals
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 def getImporterInfo(id):
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Module function to get information for the given source id.
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @return tuple with an icon (QPixmap), readable name (string), name of
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 the default bookmarks file (string), an info text (string),
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 a prompt (string) and the default directory of the bookmarks file (string)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 if id == "firefox":
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 if Globals.isWindowsPlatform():
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 standardDir = os.path.expandvars(
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 "%APPDATA%\\Mozilla\\Firefox\\Profiles")
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 else:
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 standardDir = os.path.expanduser("~/.mozilla/firefox")
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 return (
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 UI.PixmapCache.getPixmap("chrome.png"),
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 "Mozilla Firefox",
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 "places.sqlite",
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 QCoreApplication.translate("FirefoxImporter",
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 """Mozilla Firefox stores its bookmarks in the <b>places.sqlite</b> """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 """SQLite database. This file is usually located in"""),
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 QCoreApplication.translate("FirefoxImporter",
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 """Please choose the file to begin importing bookmarks."""),
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 standardDir,
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 )
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 else:
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 raise ValueError("Unsupported browser ID given ({0}).".format(id))
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 class FirefoxImporter(BookmarksImporter):
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 Class implementing the Chrome bookmarks importer.
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 def __init__(self, id="", parent=None):
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 Constructor
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 @param id source ID (string)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 @param parent reference to the parent object (QObject)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 super().__init__(id, parent)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.__fileName = ""
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.__db = None
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 def setPath(self, path):
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 Public method to set the path of the bookmarks file or directory.
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 @param path bookmarks file or directory (string)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 self.__fileName = path
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 def open(self):
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 Public method to open the bookmarks file.
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 @return flag indicating success (boolean)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 if not os.path.exists(self.__fileName):
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 self._error = True
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 self._errorString = self.trUtf8("File '{0}' does not exist.")\
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 .format(self.__fileName)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 return False
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 self.__db = QSqlDatabase.addDatabase("QSQLITE")
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.__db.setDatabaseName(self.__fileName)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 opened = self.__db.open()
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 if not opened:
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 self._error = True
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 self._errorString = self.trUtf8("Unable to open database.\nReason: {0}")\
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 .format(self.__db.lastError().text())
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 return False
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 return True
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 def importedBookmarks(self):
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 Public method to get the imported bookmarks.
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 @return imported bookmarks (BookmarkNode)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 """
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 importRootNode = BookmarkNode(BookmarkNode.Folder)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 # step 1: build the hierarchy of bookmark folders
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 folders = {}
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 query = QSqlQuery(self.__db)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 query.exec_(
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 "SELECT id, parent, title FROM moz_bookmarks WHERE type = 2 and title !=''")
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 while query.next():
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 id_ = int(query.value(0))
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 parent = int(query.value(1))
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 title = query.value(2)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 if parent in folders:
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 folder = BookmarkNode(BookmarkNode.Folder, folders[parent])
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 else:
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 folder = BookmarkNode(BookmarkNode.Folder, importRootNode)
1719
c65aefefa2ff Fixed a little omission in the new bookmarks importers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
121 folder.title = title.replace("&", "&&")
1716
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 folders[id_] = folder
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 query = QSqlQuery(self.__db)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 query.exec_(
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 "SELECT parent, title, fk, position FROM moz_bookmarks"
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 " WHERE type = 1 and title != '' ORDER BY position")
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 while query.next():
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 parent = int(query.value(0))
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 title = query.value(1).replace("&", "&&")
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 placesId = int(query.value(2))
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 query2 = QSqlQuery(self.__db)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 query2.exec_("SELECT url FROM moz_places WHERE id = {0}".format(placesId))
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 if not query2.next():
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 continue
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 url = QUrl(query2.value(0))
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 if not title or url.isEmpty() or url.scheme() in ["place", "about"]:
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 continue
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 if parent in folders:
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 bookmark = BookmarkNode(BookmarkNode.Bookmark, folders[parent])
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 else:
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 bookmark = BookmarkNode(BookmarkNode.Bookmark, importRootNode)
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 bookmark.url = url.toString()
1719
c65aefefa2ff Fixed a little omission in the new bookmarks importers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1716
diff changeset
147 bookmark.title = title.replace("&", "&&")
1716
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 if query.lastError().isValid():
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 self._error = True
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 self._errorString = query.lastError().text()
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 if self._id == "firefox":
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 importRootNode.title = self.trUtf8("Mozilla Firefox Import")
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 else:
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 importRootNode.title = self.trUtf8("Imported {0}")\
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 .format(QDate.currentDate().toString(Qt.SystemLocaleShortDate))
d634df56a664 Added a bookmarks importer for Firefox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 return importRootNode

eric ide

mercurial