Helpviewer/Bookmarks/XbelReader.py

changeset 1730
5d7ce61b64aa
parent 1729
66b9dc45f2bd
child 2302
f29e9405c851
equal deleted inserted replaced
1729:66b9dc45f2bd 1730:5d7ce61b64aa
6 """ 6 """
7 Module implementing a class to read XBEL bookmark files. 7 Module implementing a class to read XBEL bookmark files.
8 """ 8 """
9 9
10 from PyQt4.QtCore import QXmlStreamReader, QXmlStreamEntityResolver, QIODevice, \ 10 from PyQt4.QtCore import QXmlStreamReader, QXmlStreamEntityResolver, QIODevice, \
11 QFile, QCoreApplication, QXmlStreamNamespaceDeclaration 11 QFile, QCoreApplication, QXmlStreamNamespaceDeclaration, QDateTime, Qt
12 12
13 from .BookmarkNode import BookmarkNode 13 from .BookmarkNode import BookmarkNode
14 14
15 15
16 class XmlEntityResolver(QXmlStreamEntityResolver): 16 class XmlEntityResolver(QXmlStreamEntityResolver):
106 if not self.isStartElement() and self.name() != "folder": 106 if not self.isStartElement() and self.name() != "folder":
107 return 107 return
108 108
109 folder = BookmarkNode(BookmarkNode.Folder, node) 109 folder = BookmarkNode(BookmarkNode.Folder, node)
110 folder.expanded = self.attributes().value("folded") == "no" 110 folder.expanded = self.attributes().value("folded") == "no"
111 folder.added = QDateTime.fromString(self.attributes().value("added"), Qt.ISODate)
111 112
112 while not self.atEnd(): 113 while not self.atEnd():
113 self.readNext() 114 self.readNext()
114 if self.isEndElement(): 115 if self.isEndElement():
115 break 116 break
156 """ 157 """
157 Private method to read a separator element. 158 Private method to read a separator element.
158 159
159 @param node reference to the bookmark node the separator belongs to (BookmarkNode) 160 @param node reference to the bookmark node the separator belongs to (BookmarkNode)
160 """ 161 """
161 BookmarkNode(BookmarkNode.Separator, node) 162 sep = BookmarkNode(BookmarkNode.Separator, node)
163 sep.added = QDateTime.fromString(self.attributes().value("added"), Qt.ISODate)
162 164
163 # empty elements have a start and end element 165 # empty elements have a start and end element
164 while not self.atEnd(): 166 while not self.atEnd():
165 self.readNext() 167 self.readNext()
166 if self.isEndElement(): 168 if self.isEndElement():
181 if not self.isStartElement() and self.name() != "bookmark": 183 if not self.isStartElement() and self.name() != "bookmark":
182 return 184 return
183 185
184 bookmark = BookmarkNode(BookmarkNode.Bookmark, node) 186 bookmark = BookmarkNode(BookmarkNode.Bookmark, node)
185 bookmark.url = self.attributes().value("href") 187 bookmark.url = self.attributes().value("href")
188 bookmark.added = QDateTime.fromString(
189 self.attributes().value("added"), Qt.ISODate)
190 bookmark.modified = QDateTime.fromString(
191 self.attributes().value("modified"), Qt.ISODate)
192 bookmark.visited = QDateTime.fromString(
193 self.attributes().value("visited"), Qt.ISODate)
186 194
187 while not self.atEnd(): 195 while not self.atEnd():
188 self.readNext() 196 self.readNext()
189 if self.isEndElement(): 197 if self.isEndElement():
190 break 198 break

eric ide

mercurial