src/eric7/WebBrowser/Bookmarks/XbelWriter.py

branch
eric7
changeset 10482
72d9b5ea39b4
parent 10439
21c28b0f9e41
child 11090
f5f5f5803935
equal deleted inserted replaced
10481:9aea3575bd16 10482:72d9b5ea39b4
7 Module implementing a class to write XBEL bookmark files. 7 Module implementing a class to write XBEL bookmark files.
8 """ 8 """
9 9
10 from PyQt6.QtCore import QFile, QIODevice, Qt, QXmlStreamWriter 10 from PyQt6.QtCore import QFile, QIODevice, Qt, QXmlStreamWriter
11 11
12 from .BookmarkNode import BookmarkNode 12 from .BookmarkNode import BookmarkNodeType
13 13
14 14
15 class XbelWriter(QXmlStreamWriter): 15 class XbelWriter(QXmlStreamWriter):
16 """ 16 """
17 Class implementing a writer object to generate XBEL bookmark files. 17 Class implementing a writer object to generate XBEL bookmark files.
58 """ 58 """
59 self.writeStartDocument() 59 self.writeStartDocument()
60 self.writeDTD("<!DOCTYPE xbel>") 60 self.writeDTD("<!DOCTYPE xbel>")
61 self.writeStartElement("xbel") 61 self.writeStartElement("xbel")
62 self.writeAttribute("version", "1.0") 62 self.writeAttribute("version", "1.0")
63 if root.type() == BookmarkNode.Root: 63 if root.type() == BookmarkNodeType.Root:
64 for child in root.children(): 64 for child in root.children():
65 self.__writeItem(child) 65 self.__writeItem(child)
66 else: 66 else:
67 self.__writeItem(root) 67 self.__writeItem(root)
68 68
74 Private method to write an entry for a node. 74 Private method to write an entry for a node.
75 75
76 @param node reference to the node to be written 76 @param node reference to the node to be written
77 @type BookmarkNode 77 @type BookmarkNode
78 """ 78 """
79 if node.type() == BookmarkNode.Folder: 79 if node.type() == BookmarkNodeType.Folder:
80 self.writeStartElement("folder") 80 self.writeStartElement("folder")
81 if node.added.isValid(): 81 if node.added.isValid():
82 self.writeAttribute("added", node.added.toString(Qt.DateFormat.ISODate)) 82 self.writeAttribute("added", node.added.toString(Qt.DateFormat.ISODate))
83 self.writeAttribute("folded", node.expanded and "no" or "yes") 83 self.writeAttribute("folded", node.expanded and "no" or "yes")
84 self.writeTextElement("title", node.title) 84 self.writeTextElement("title", node.title)
85 for child in node.children(): 85 for child in node.children():
86 self.__writeItem(child) 86 self.__writeItem(child)
87 self.writeEndElement() 87 self.writeEndElement()
88 elif node.type() == BookmarkNode.Bookmark: 88 elif node.type() == BookmarkNodeType.Bookmark:
89 self.writeStartElement("bookmark") 89 self.writeStartElement("bookmark")
90 if node.url: 90 if node.url:
91 self.writeAttribute("href", node.url) 91 self.writeAttribute("href", node.url)
92 if node.added.isValid(): 92 if node.added.isValid():
93 self.writeAttribute("added", node.added.toString(Qt.DateFormat.ISODate)) 93 self.writeAttribute("added", node.added.toString(Qt.DateFormat.ISODate))
102 self.writeAttribute("visitCount", str(node.visitCount)) 102 self.writeAttribute("visitCount", str(node.visitCount))
103 self.writeTextElement("title", node.title) 103 self.writeTextElement("title", node.title)
104 if node.desc: 104 if node.desc:
105 self.writeTextElement("desc", node.desc) 105 self.writeTextElement("desc", node.desc)
106 self.writeEndElement() 106 self.writeEndElement()
107 elif node.type() == BookmarkNode.Separator: 107 elif node.type() == BookmarkNodeType.Separator:
108 self.writeEmptyElement("separator") 108 self.writeEmptyElement("separator")
109 if node.added.isValid(): 109 if node.added.isValid():
110 self.writeAttribute("added", node.added.toString(Qt.DateFormat.ISODate)) 110 self.writeAttribute("added", node.added.toString(Qt.DateFormat.ISODate))

eric ide

mercurial