117 Public method to get the imported bookmarks. |
117 Public method to get the imported bookmarks. |
118 |
118 |
119 @return imported bookmarks |
119 @return imported bookmarks |
120 @rtype BookmarkNode |
120 @rtype BookmarkNode |
121 """ |
121 """ |
122 from ..BookmarkNode import BookmarkNode |
122 from ..BookmarkNode import BookmarkNode, BookmarkNodeType |
123 |
123 |
124 importRootNode = BookmarkNode(BookmarkNode.Root) |
124 importRootNode = BookmarkNode(BookmarkNodeType.Root) |
125 |
125 |
126 # step 1: build the hierarchy of bookmark folders |
126 # step 1: build the hierarchy of bookmark folders |
127 folders = {} |
127 folders = {} |
128 |
128 |
129 try: |
129 try: |
135 for row in cursor: |
135 for row in cursor: |
136 id_ = row[0] |
136 id_ = row[0] |
137 parent = row[1] |
137 parent = row[1] |
138 title = row[2] |
138 title = row[2] |
139 folder = ( |
139 folder = ( |
140 BookmarkNode(BookmarkNode.Folder, folders[parent]) |
140 BookmarkNode(BookmarkNodeType.Folder, folders[parent]) |
141 if parent in folders |
141 if parent in folders |
142 else BookmarkNode(BookmarkNode.Folder, importRootNode) |
142 else BookmarkNode(BookmarkNodeType.Folder, importRootNode) |
143 ) |
143 ) |
144 folder.title = title.replace("&", "&&") |
144 folder.title = title.replace("&", "&&") |
145 folders[id_] = folder |
145 folders[id_] = folder |
146 except sqlite3.DatabaseError as err: |
146 except sqlite3.DatabaseError as err: |
147 self._error = True |
147 self._error = True |
172 url = QUrl(row2[0]) |
172 url = QUrl(row2[0]) |
173 if not title or url.isEmpty() or url.scheme() in ["place", "about"]: |
173 if not title or url.isEmpty() or url.scheme() in ["place", "about"]: |
174 continue |
174 continue |
175 |
175 |
176 if parent in folders: |
176 if parent in folders: |
177 bookmark = BookmarkNode(BookmarkNode.Bookmark, folders[parent]) |
177 bookmark = BookmarkNode( |
|
178 BookmarkNodeType.Bookmark, folders[parent] |
|
179 ) |
178 else: |
180 else: |
179 bookmark = BookmarkNode(BookmarkNode.Bookmark, importRootNode) |
181 bookmark = BookmarkNode( |
|
182 BookmarkNodeType.Bookmark, importRootNode |
|
183 ) |
180 bookmark.url = url.toString() |
184 bookmark.url = url.toString() |
181 bookmark.title = title.replace("&", "&&") |
185 bookmark.title = title.replace("&", "&&") |
182 except sqlite3.DatabaseError as err: |
186 except sqlite3.DatabaseError as err: |
183 self._error = True |
187 self._error = True |
184 self._errorString = self.tr("Unable to open database.\nReason: {0}").format( |
188 self._errorString = self.tr("Unable to open database.\nReason: {0}").format( |
185 str(err) |
189 str(err) |
186 ) |
190 ) |
187 return None |
191 return None |
188 |
192 |
189 importRootNode.setType(BookmarkNode.Folder) |
193 importRootNode.setType(BookmarkNodeType.Folder) |
190 if self._id == "firefox": |
194 if self._id == "firefox": |
191 importRootNode.title = self.tr("Mozilla Firefox Import") |
195 importRootNode.title = self.tr("Mozilla Firefox Import") |
192 else: |
196 else: |
193 importRootNode.title = self.tr("Imported {0}").format( |
197 importRootNode.title = self.tr("Imported {0}").format( |
194 QDate.currentDate().toString(Qt.DateFormat.ISODate) |
198 QDate.currentDate().toString(Qt.DateFormat.ISODate) |