251 Public method to get the imported bookmarks. |
251 Public method to get the imported bookmarks. |
252 |
252 |
253 @return imported bookmarks |
253 @return imported bookmarks |
254 @rtype BookmarkNode |
254 @rtype BookmarkNode |
255 """ |
255 """ |
256 from ..BookmarkNode import BookmarkNode |
256 from ..BookmarkNode import BookmarkNode, BookmarkNodeType |
257 |
257 |
258 try: |
258 try: |
259 with open(self.__fileName, "r", encoding="utf-8") as f: |
259 with open(self.__fileName, "r", encoding="utf-8") as f: |
260 contents = json.load(f) |
260 contents = json.load(f) |
261 except OSError as err: |
261 except OSError as err: |
263 self._errorString = self.tr( |
263 self._errorString = self.tr( |
264 "File '{0}' cannot be read.\nReason: {1}" |
264 "File '{0}' cannot be read.\nReason: {1}" |
265 ).format(self.__fileName, str(err)) |
265 ).format(self.__fileName, str(err)) |
266 return None |
266 return None |
267 |
267 |
268 importRootNode = BookmarkNode(BookmarkNode.Folder) |
268 importRootNode = BookmarkNode(BookmarkNodeType.Folder) |
269 if contents["version"] == 1: |
269 if contents["version"] == 1: |
270 self.__processRoots(contents["roots"], importRootNode) |
270 self.__processRoots(contents["roots"], importRootNode) |
271 |
271 |
272 if self._id == "chrome": |
272 if self._id == "chrome": |
273 importRootNode.title = self.tr("Google Chrome Import") |
273 importRootNode.title = self.tr("Google Chrome Import") |
310 @param data dictionary with the bookmarks data |
310 @param data dictionary with the bookmarks data |
311 @type dict |
311 @type dict |
312 @param rootNode node to add the bookmarks to |
312 @param rootNode node to add the bookmarks to |
313 @type BookmarkNode |
313 @type BookmarkNode |
314 """ |
314 """ |
315 from ..BookmarkNode import BookmarkNode |
315 from ..BookmarkNode import BookmarkNode, BookmarkNodeType |
316 |
316 |
317 folder = BookmarkNode(BookmarkNode.Folder, rootNode) |
317 folder = BookmarkNode(BookmarkNodeType.Folder, rootNode) |
318 folder.title = data["name"].replace("&", "&&") |
318 folder.title = data["name"].replace("&", "&&") |
319 for node in data["children"]: |
319 for node in data["children"]: |
320 if node["type"] == "folder": |
320 if node["type"] == "folder": |
321 self.__generateFolderNode(node, folder) |
321 self.__generateFolderNode(node, folder) |
322 elif node["type"] == "url": |
322 elif node["type"] == "url": |
329 @param data dictionary with the bookmarks data |
329 @param data dictionary with the bookmarks data |
330 @type dict |
330 @type dict |
331 @param rootNode node to add the bookmarks to |
331 @param rootNode node to add the bookmarks to |
332 @type BookmarkNode |
332 @type BookmarkNode |
333 """ |
333 """ |
334 from ..BookmarkNode import BookmarkNode |
334 from ..BookmarkNode import BookmarkNode, BookmarkNodeType |
335 |
335 |
336 bookmark = BookmarkNode(BookmarkNode.Bookmark, rootNode) |
336 bookmark = BookmarkNode(BookmarkNodeType.Bookmark, rootNode) |
337 bookmark.url = data["url"] |
337 bookmark.url = data["url"] |
338 bookmark.title = data["name"].replace("&", "&&") |
338 bookmark.title = data["name"].replace("&", "&&") |
339 |
339 |
340 |
340 |
341 def createImporter(sourceId="", parent=None): |
341 def createImporter(sourceId="", parent=None): |