22 |
from Thuban.Model.classification import \ |
from Thuban.Model.classification import \ |
23 |
ClassGroupDefault, ClassGroupSingleton, ClassGroupRange, ClassGroupMap |
ClassGroupDefault, ClassGroupSingleton, ClassGroupRange, ClassGroupMap |
24 |
from Thuban.Model.transientdb import AutoTransientTable, TransientJoinedTable |
from Thuban.Model.transientdb import AutoTransientTable, TransientJoinedTable |
25 |
from Thuban.Model.table import DBFTable |
from Thuban.Model.table import DBFTable, FIELDTYPE_STRING |
26 |
from Thuban.Model.data import DerivedShapeStore, ShapefileStore |
from Thuban.Model.data import DerivedShapeStore, ShapefileStore |
27 |
|
|
28 |
from Thuban.Model.xmlwriter import XMLWriter |
from Thuban.Model.xmlwriter import XMLWriter |
105 |
def write(self, file_or_filename): |
def write(self, file_or_filename): |
106 |
XMLWriter.write(self, file_or_filename) |
XMLWriter.write(self, file_or_filename) |
107 |
|
|
108 |
self.write_header("session", "thuban-0.8.dtd") |
self.write_header("session", "thuban-0.9.dtd") |
109 |
self.write_session(self.session) |
self.write_session(self.session) |
110 |
self.close() |
self.close() |
111 |
|
|
132 |
attrs["xmlns:" + name] = uri |
attrs["xmlns:" + name] = uri |
133 |
# default name space |
# default name space |
134 |
attrs["xmlns"] = \ |
attrs["xmlns"] = \ |
135 |
"http://thuban.intevation.org/dtds/thuban-0.8.dtd" |
"http://thuban.intevation.org/dtds/thuban-0.9-dev.dtd" |
136 |
self.open_element("session", attrs) |
self.open_element("session", attrs) |
137 |
self.write_data_containers(session) |
self.write_data_containers(session) |
138 |
for map in session.Maps(): |
for map in session.Maps(): |
183 |
"right": self.get_id(right), |
"right": self.get_id(right), |
184 |
"rightcolumn": right_field, |
"rightcolumn": right_field, |
185 |
"left": self.get_id(left), |
"left": self.get_id(left), |
186 |
"leftcolumn": left_field}) |
"leftcolumn": left_field, |
187 |
|
"jointype": container.JoinType()}) |
188 |
else: |
else: |
189 |
raise ValueError("Can't handle container %r" % container) |
raise ValueError("Can't handle container %r" % container) |
190 |
|
|
269 |
if isinstance(g, ClassGroupDefault): |
if isinstance(g, ClassGroupDefault): |
270 |
open_el = 'clnull label="%s"' % self.encode(g.GetLabel()) |
open_el = 'clnull label="%s"' % self.encode(g.GetLabel()) |
271 |
close_el = 'clnull' |
close_el = 'clnull' |
272 |
elif isinstance(g, ClassGroupSingleton): |
elif isinstance(g, ClassGroupSingleton): |
273 |
|
if lc.GetFieldType() == FIELDTYPE_STRING: |
274 |
|
value = self.encode(g.GetValue()) |
275 |
|
else: |
276 |
|
value = str(g.GetValue()) |
277 |
open_el = 'clpoint label="%s" value="%s"' \ |
open_el = 'clpoint label="%s" value="%s"' \ |
278 |
% (self.encode(g.GetLabel()), str(g.GetValue())) |
% (self.encode(g.GetLabel()), value) |
279 |
close_el = 'clpoint' |
close_el = 'clpoint' |
280 |
elif isinstance(g, ClassGroupRange): |
elif isinstance(g, ClassGroupRange): |
281 |
open_el = 'clrange label="%s" range="%s"' \ |
open_el = 'clrange label="%s" range="%s"' \ |