1 |
# Copyright (c) 2001 by Intevation GmbH |
# Copyright (c) 2001, 2002 by Intevation GmbH |
2 |
# Authors: |
# Authors: |
3 |
# Jan-Oliver Wagner <[email protected]> |
# Jan-Oliver Wagner <[email protected]> |
4 |
# Bernhard Herzog <[email protected]> |
# Bernhard Herzog <[email protected]> |
15 |
import os |
import os |
16 |
import string |
import string |
17 |
|
|
18 |
from Thuban.Lib.fileutil import relative_filename |
import Thuban.Lib.fileutil |
19 |
|
|
20 |
|
def relative_filename(dir, filename): |
21 |
|
"""Return a filename relative to dir for the absolute file name absname. |
22 |
|
|
23 |
|
This is almost the same as the function in fileutil, except that dir |
24 |
|
can be an empty string in which case filename will be returned |
25 |
|
unchanged. |
26 |
|
""" |
27 |
|
if dir: |
28 |
|
return Thuban.Lib.fileutil.relative_filename(dir, filename) |
29 |
|
else: |
30 |
|
return filename |
31 |
|
|
32 |
def escape(data): |
def escape(data): |
33 |
"""Escape &, \", ', <, and > in a string of data. |
"""Escape &, \", ', <, and > in a string of data. |
67 |
else: |
else: |
68 |
stroke = stroke.hex() |
stroke = stroke.hex() |
69 |
write(('\t\t<layer title="%s" filename="%s"' |
write(('\t\t<layer title="%s" filename="%s"' |
70 |
' fill="%s" stroke="%s"/>\n') % |
' fill="%s" stroke="%s" stroke_width="%d"/>\n') % |
71 |
(escape(layer.title), |
(escape(layer.title), |
72 |
escape(relative_filename(dir, layer.filename)), |
escape(relative_filename(dir, layer.filename)), |
73 |
fill, stroke)) |
fill, stroke, layer.stroke_width)) |
74 |
labels = map.LabelLayer().Labels() |
labels = map.LabelLayer().Labels() |
75 |
if labels: |
if labels: |
76 |
write('\t\t<labellayer>\n') |
write('\t\t<labellayer>\n') |