101 Public method to get the imported bookmarks. |
101 Public method to get the imported bookmarks. |
102 |
102 |
103 @return imported bookmarks |
103 @return imported bookmarks |
104 @rtype BookmarkNode |
104 @rtype BookmarkNode |
105 """ |
105 """ |
106 from ..BookmarkNode import BookmarkNode |
106 from ..BookmarkNode import BookmarkNode, BookmarkNodeType |
107 |
107 |
108 try: |
108 try: |
109 with open(self.__fileName, "r", encoding="utf-8") as f: |
109 with open(self.__fileName, "r", encoding="utf-8") as f: |
110 contents = f.read() |
110 contents = f.read() |
111 except OSError as err: |
111 except OSError as err: |
115 ).format(self.__fileName, str(err)) |
115 ).format(self.__fileName, str(err)) |
116 return None |
116 return None |
117 |
117 |
118 folderStack = [] |
118 folderStack = [] |
119 |
119 |
120 importRootNode = BookmarkNode(BookmarkNode.Folder) |
120 importRootNode = BookmarkNode(BookmarkNodeType.Folder) |
121 folderStack.append(importRootNode) |
121 folderStack.append(importRootNode) |
122 |
122 |
123 for line in contents.splitlines(): |
123 for line in contents.splitlines(): |
124 line = line.strip() |
124 line = line.strip() |
125 if line == "#FOLDER": |
125 if line == "#FOLDER": |
126 node = BookmarkNode(BookmarkNode.Folder, folderStack[-1]) |
126 node = BookmarkNode(BookmarkNodeType.Folder, folderStack[-1]) |
127 folderStack.append(node) |
127 folderStack.append(node) |
128 elif line == "#URL": |
128 elif line == "#URL": |
129 node = BookmarkNode(BookmarkNode.Bookmark, folderStack[-1]) |
129 node = BookmarkNode(BookmarkNodeType.Bookmark, folderStack[-1]) |
130 elif line == "-": |
130 elif line == "-": |
131 folderStack.pop() |
131 folderStack.pop() |
132 elif line.startswith("NAME="): |
132 elif line.startswith("NAME="): |
133 node.title = line.replace("NAME=", "").replace("&", "&&") |
133 node.title = line.replace("NAME=", "").replace("&", "&&") |
134 elif line.startswith("URL="): |
134 elif line.startswith("URL="): |