@@ -24,6 +24,14 @@ def __init__(self, filename, date, author):
24
24
self .filename = filename
25
25
self .date = date
26
26
self .author = author
27
+
28
+ def properties (self ):
29
+ """returns a dict of properties and their names for XML serialization"""
30
+ return {
31
+ "date" : str (self .date ),
32
+ "filename" : self .filename ,
33
+ "author" : self .author
34
+ }
27
35
28
36
# Some version control system's logs are not in chronological order, so
29
37
# this compare method will return a compare of the date attributes.
@@ -111,27 +119,21 @@ def main(argv):
111
119
def create_event_xml (events , output ):
112
120
""" Write out the final XML given an input iterator of events."""
113
121
from xml .sax .saxutils import XMLGenerator
114
- from xml .sax .xmlreader import AttributesNSImpl
115
122
116
123
generator = XMLGenerator (output , "utf-8" )
117
- generator .startDocument ()
118
-
119
- generator .startElementNS ((None , 'file_events' ), 'file_events' , AttributesNSImpl ({},{}))
124
+ generator .startDocument ()
125
+ generator .startElement ('file_events' , {})
120
126
121
127
qnames = {(None , "date" ):"date" ,
122
128
(None , "filename" ):"filename" ,
123
129
(None , "author" ):"author" }
124
130
125
131
for event in events :
126
- generator .startElementNS ((None , "event" ), "event" , AttributesNSImpl ({
127
- (None ,"date" ):str (event .date ),
128
- (None ,"filename" ):event .filename ,
129
- (None ,"author" ):event .author
130
- }, qnames ))
132
+ generator .startElement ("event" , event .properties ())
131
133
132
- generator .endElementNS (( None , "event" ), "event" )
134
+ generator .endElement ( "event" )
133
135
134
- generator .endElementNS (( None , 'file_events' ), 'file_events' )
136
+ generator .endElement ( 'file_events' )
135
137
generator .endDocument ()
136
138
137
139
def parse_args (argv ):
0 commit comments