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 |
10 |
11 from PyQt5.QtCore import QXmlStreamReader, QXmlStreamEntityResolver, \ |
11 from PyQt5.QtCore import ( |
12 QIODevice, QFile, QCoreApplication, QXmlStreamNamespaceDeclaration, \ |
12 QXmlStreamReader, QXmlStreamEntityResolver, QIODevice, QFile, |
13 QDateTime, Qt |
13 QCoreApplication, QXmlStreamNamespaceDeclaration, QDateTime, Qt |
|
14 ) |
14 |
15 |
15 from .BookmarkNode import BookmarkNode |
16 from .BookmarkNode import BookmarkNode |
16 |
17 |
17 |
18 |
18 class XmlEntityResolver(QXmlStreamEntityResolver): |
19 class XmlEntityResolver(QXmlStreamEntityResolver): |
64 root = BookmarkNode(BookmarkNode.Root) |
65 root = BookmarkNode(BookmarkNode.Root) |
65 while not self.atEnd(): |
66 while not self.atEnd(): |
66 self.readNext() |
67 self.readNext() |
67 if self.isStartElement(): |
68 if self.isStartElement(): |
68 version = self.attributes().value("version") |
69 version = self.attributes().value("version") |
69 if self.name() == "xbel" and \ |
70 if ( |
70 (not version or version == "1.0"): |
71 self.name() == "xbel" and |
|
72 (not version or version == "1.0") |
|
73 ): |
71 self.__readXBEL(root) |
74 self.__readXBEL(root) |
72 else: |
75 else: |
73 self.raiseError(QCoreApplication.translate( |
76 self.raiseError(QCoreApplication.translate( |
74 "XbelReader", |
77 "XbelReader", |
75 "The file is not an XBEL version 1.0 file.")) |
78 "The file is not an XBEL version 1.0 file.")) |