52 |
data = string.replace(data, "'", "'") |
data = string.replace(data, "'", "'") |
53 |
return data |
return data |
54 |
|
|
55 |
class XMLSaver: |
class XMLWriter: |
56 |
"""Abstract XMLSaver. |
"""Abstract XMLWriter. |
57 |
|
|
58 |
Should be overridden to provide specific object saving functionality. |
Should be overridden to provide specific object saving functionality. |
59 |
""" |
""" |
141 |
for name, value in attrs.items(): |
for name, value in attrs.items(): |
142 |
self.file.write(' %s="%s"' % (escape(name), escape(value))) |
self.file.write(' %s="%s"' % (escape(name), escape(value))) |
143 |
|
|
144 |
class SessionSaver(XMLSaver): |
class SessionSaver(XMLWriter): |
145 |
|
|
146 |
"""Class to serialize a session into an XML file. |
"""Class to serialize a session into an XML file. |
147 |
|
|
155 |
|
|
156 |
|
|
157 |
def __init__(self, session): |
def __init__(self, session): |
158 |
XMLSaver.__init__(self) |
XMLWriter.__init__(self) |
159 |
self.session = session |
self.session = session |
160 |
|
|
161 |
def write(self, file_or_filename): |
def write(self, file_or_filename): |
162 |
XMLSaver.write(self, file_or_filename) |
XMLWriter.write(self, file_or_filename) |
163 |
|
|
164 |
self.write_header("session", "thuban.dtd") |
self.write_header("session", "thuban.dtd") |
165 |
self.write_session(self.session) |
self.write_session(self.session) |