kopia lustrzana https://github.com/hholzgra/ocitysmap
Porównaj commity
3 Commity
efc806236e
...
92ed053487
Autor | SHA1 | Data |
---|---|---|
Hartmut Holzgraefe | 92ed053487 | |
Hartmut Holzgraefe | fd2fe3aa85 | |
Hartmut Holzgraefe | 6cc9b85793 |
|
@ -832,6 +832,7 @@ class OCitySMap:
|
|||
-------
|
||||
void
|
||||
"""
|
||||
tmp_output_filename = output_filename + ".tmp"
|
||||
config.output_format = output_format.upper()
|
||||
LOG.debug('Rendering to %s format...' % config.output_format)
|
||||
config.status_update(_("Rendering %s") % config.output_format)
|
||||
|
@ -872,15 +873,15 @@ class OCitySMap:
|
|||
surface = cairo.PDFSurface(None, w_px, h_px)
|
||||
|
||||
elif output_format == 'svg':
|
||||
surface = cairo.SVGSurface(output_filename,
|
||||
surface = cairo.SVGSurface(tmp_output_filename,
|
||||
renderer.paper_width_pt, renderer.paper_height_pt)
|
||||
surface.restrict_to_version(cairo.SVGVersion.VERSION_1_2);
|
||||
elif output_format == 'svgz':
|
||||
surface = cairo.SVGSurface(gzip.GzipFile(output_filename, 'wb'),
|
||||
surface = cairo.SVGSurface(gzip.GzipFile(tmp_output_filename, 'wb'),
|
||||
renderer.paper_width_pt, renderer.paper_height_pt)
|
||||
surface.restrict_to_version(cairo.SVGVersion.VERSION_1_2);
|
||||
elif output_format == 'pdf':
|
||||
surface = cairo.PDFSurface(output_filename,
|
||||
surface = cairo.PDFSurface(tmp_output_filename,
|
||||
renderer.paper_width_pt, renderer.paper_height_pt)
|
||||
surface.restrict_to_version(cairo.PDFVersion.VERSION_1_5);
|
||||
|
||||
|
@ -904,10 +905,10 @@ class OCitySMap:
|
|||
LOG.warning("Installed Cairo version does not support PDF annotations yet")
|
||||
|
||||
elif output_format == 'ps':
|
||||
surface = cairo.PSSurface(output_filename,
|
||||
surface = cairo.PSSurface(tmp_output_filename,
|
||||
renderer.paper_width_pt, renderer.paper_height_pt)
|
||||
elif output_format == 'ps.gz':
|
||||
surface = cairo.PSSurface(gzip.GzipFile(output_filename, 'wb'),
|
||||
surface = cairo.PSSurface(gzip.GzipFile(tmp_output_filename, 'wb'),
|
||||
renderer.paper_width_pt, renderer.paper_height_pt)
|
||||
elif output_format == 'csv':
|
||||
# We don't render maps into CSV.
|
||||
|
@ -920,11 +921,15 @@ class OCitySMap:
|
|||
|
||||
LOG.debug('Writing %s...' % output_filename)
|
||||
|
||||
config.status_update(_("%s: writing output file") % output_format.upper())
|
||||
|
||||
if output_format == 'png':
|
||||
surface.write_to_png(output_filename)
|
||||
surface.write_to_png(tmp_output_filename)
|
||||
|
||||
surface.finish()
|
||||
|
||||
os.rename(tmp_output_filename, output_filename)
|
||||
|
||||
if __name__ == '__main__':
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
|
|
|
@ -362,8 +362,6 @@ class MultiPageRenderer(Renderer):
|
|||
self.overview_overlay_effects = {}
|
||||
|
||||
for overlay in self._overlays:
|
||||
self.rc.status_update(_("Preparing overview page: %s") % overlay.name)
|
||||
|
||||
path = overlay.path.strip()
|
||||
if path.startswith('internal:'):
|
||||
plugin_name = path.lstrip('internal:')
|
||||
|
@ -375,6 +373,7 @@ class MultiPageRenderer(Renderer):
|
|||
else:
|
||||
self.overview_overlay_effects[plugin_name] = self.get_plugin(plugin_name)
|
||||
else:
|
||||
self.rc.status_update(_("Preparing overview page: %s") % overlay.name)
|
||||
ov_canvas = MapCanvas(overlay,
|
||||
overview_bb,
|
||||
self._usable_area_width_pt,
|
||||
|
@ -1129,7 +1128,7 @@ class MultiPageRenderer(Renderer):
|
|||
self._render_overview_page(ctx, cairo_surface, dpi)
|
||||
|
||||
for map_number, (canvas, grid, overlay_canvases, overlay_effects) in enumerate(self.pages):
|
||||
self.rc.status_update(_("Rendering map page %(page)d of %(total)d: base map")
|
||||
self.rc.status_update(_("Rendering map page %(page)d of %(total)d")
|
||||
% { 'page': map_number + 1,
|
||||
'total': len(self.pages),
|
||||
})
|
||||
|
@ -1147,6 +1146,11 @@ class MultiPageRenderer(Renderer):
|
|||
dest_tag = "mypage%d" % (map_number + self._first_map_page_number)
|
||||
draw_utils.anchor(ctx, dest_tag)
|
||||
|
||||
self.rc.status_update(_("Rendering map page %(page)d of %(total)d: base map")
|
||||
% { 'page': map_number + 1,
|
||||
'total': len(self.pages),
|
||||
})
|
||||
|
||||
mapnik.render(rendered_map, ctx)
|
||||
|
||||
for overlay_canvas in overlay_canvases:
|
||||
|
|
Ładowanie…
Reference in New Issue