54 |
56 |
55 def read(self, fileNameOrDevice): |
57 def read(self, fileNameOrDevice): |
56 """ |
58 """ |
57 Public method to read an XBEL bookmark file. |
59 Public method to read an XBEL bookmark file. |
58 |
60 |
59 @param fileNameOrDevice name of the file to read (string) |
61 @param fileNameOrDevice name of the file to read |
|
62 @type str |
60 or reference to the device to read (QIODevice) |
63 or reference to the device to read (QIODevice) |
61 @return reference to the root node (BookmarkNode) |
64 @return reference to the root node |
|
65 @rtype BookmarkNode |
62 """ |
66 """ |
63 if isinstance(fileNameOrDevice, QIODevice): |
67 if isinstance(fileNameOrDevice, QIODevice): |
64 self.setDevice(fileNameOrDevice) |
68 self.setDevice(fileNameOrDevice) |
65 else: |
69 else: |
66 f = QFile(fileNameOrDevice) |
70 f = QFile(fileNameOrDevice) |
87 |
91 |
88 def __readXBEL(self, node): |
92 def __readXBEL(self, node): |
89 """ |
93 """ |
90 Private method to read and parse the XBEL file. |
94 Private method to read and parse the XBEL file. |
91 |
95 |
92 @param node reference to the node to attach to (BookmarkNode) |
96 @param node reference to the node to attach to |
|
97 @type BookmarkNode |
93 """ |
98 """ |
94 if not self.isStartElement() and self.name() != "xbel": |
99 if not self.isStartElement() and self.name() != "xbel": |
95 return |
100 return |
96 |
101 |
97 while not self.atEnd(): |
102 while not self.atEnd(): |
111 |
116 |
112 def __readFolder(self, node): |
117 def __readFolder(self, node): |
113 """ |
118 """ |
114 Private method to read and parse a folder subtree. |
119 Private method to read and parse a folder subtree. |
115 |
120 |
116 @param node reference to the node to attach to (BookmarkNode) |
121 @param node reference to the node to attach to |
|
122 @type BookmarkNode |
117 """ |
123 """ |
118 if not self.isStartElement() and self.name() != "folder": |
124 if not self.isStartElement() and self.name() != "folder": |
119 return |
125 return |
120 |
126 |
121 folder = BookmarkNode(BookmarkNode.Folder, node) |
127 folder = BookmarkNode(BookmarkNode.Folder, node) |
148 def __readTitle(self, node): |
154 def __readTitle(self, node): |
149 """ |
155 """ |
150 Private method to read the title element. |
156 Private method to read the title element. |
151 |
157 |
152 @param node reference to the bookmark node title belongs to |
158 @param node reference to the bookmark node title belongs to |
153 (BookmarkNode) |
159 @type BookmarkNode |
154 """ |
160 """ |
155 if not self.isStartElement() and self.name() != "title": |
161 if not self.isStartElement() and self.name() != "title": |
156 return |
162 return |
157 |
163 |
158 node.title = self.readElementText() |
164 node.title = self.readElementText() |
160 def __readDescription(self, node): |
166 def __readDescription(self, node): |
161 """ |
167 """ |
162 Private method to read the desc element. |
168 Private method to read the desc element. |
163 |
169 |
164 @param node reference to the bookmark node desc belongs to |
170 @param node reference to the bookmark node desc belongs to |
165 (BookmarkNode) |
171 @type BookmarkNode |
166 """ |
172 """ |
167 if not self.isStartElement() and self.name() != "desc": |
173 if not self.isStartElement() and self.name() != "desc": |
168 return |
174 return |
169 |
175 |
170 node.desc = self.readElementText() |
176 node.desc = self.readElementText() |
172 def __readSeparator(self, node): |
178 def __readSeparator(self, node): |
173 """ |
179 """ |
174 Private method to read a separator element. |
180 Private method to read a separator element. |
175 |
181 |
176 @param node reference to the bookmark node the separator belongs to |
182 @param node reference to the bookmark node the separator belongs to |
177 (BookmarkNode) |
183 @type BookmarkNode |
178 """ |
184 """ |
179 sep = BookmarkNode(BookmarkNode.Separator, node) |
185 sep = BookmarkNode(BookmarkNode.Separator, node) |
180 sep.added = QDateTime.fromString( |
186 sep.added = QDateTime.fromString( |
181 self.attributes().value("added"), Qt.DateFormat.ISODate |
187 self.attributes().value("added"), Qt.DateFormat.ISODate |
182 ) |
188 ) |
195 |
201 |
196 def __readBookmarkNode(self, node): |
202 def __readBookmarkNode(self, node): |
197 """ |
203 """ |
198 Private method to read and parse a bookmark subtree. |
204 Private method to read and parse a bookmark subtree. |
199 |
205 |
200 @param node reference to the node to attach to (BookmarkNode) |
206 @param node reference to the node to attach to |
|
207 @type BookmarkNode |
201 """ |
208 """ |
202 if not self.isStartElement() and self.name() != "bookmark": |
209 if not self.isStartElement() and self.name() != "bookmark": |
203 return |
210 return |
204 |
211 |
205 bookmark = BookmarkNode(BookmarkNode.Bookmark, node) |
212 bookmark = BookmarkNode(BookmarkNode.Bookmark, node) |