artemp
333965b588
update copyright year
2014-11-20 15:25:50 +01:00
Dane Springmeyer
4a2735fe91
c++ style: use reinterpret_cast rather than c style casts
2014-11-10 16:53:58 -08:00
Stephen Davis
824c99f565
throw datasource_exception on GDAL RasterIO failures
2014-11-03 11:24:38 +13:00
Dane Springmeyer
4cbc139689
remove boost::format usage
2014-09-30 18:35:07 -07:00
artemp
ecfaec1027
rename ctrans.hpp to view_transform.hpp
2014-08-28 10:29:04 +01:00
artemp
de22d5900c
rename CoordTransform to view_transform to better reflect its purpose and be consistent
2014-08-28 10:17:15 +01:00
Dane Springmeyer
3e1ab9beab
fix gdal compile with msvs 2013 - closes #2257
2014-08-25 17:50:45 -07:00
artemp
95cea92a4a
convert all boost::variant to util::variant
...
apart from topojson (TODO)
2014-08-12 13:40:45 +01:00
Dane Springmeyer
d61efc0b5a
-fvisibility=hidden fixes on osx with -flto
2014-08-09 13:44:42 -07:00
Dane Springmeyer
05f49f9cac
visual tests - keep default debug severity levels
2014-08-04 19:18:38 -07:00
Dane Springmeyer
8feedd94cd
rename mapnik::boolean to mapnik::boolean_type - closes #1899
2014-07-28 19:46:49 -07:00
Dane Springmeyer
d1336568c5
workaround old GDAL bug regarding rgba images and alpha reporting - closes #2310
2014-07-22 14:33:59 -07:00
artemp
fe215a684e
c++11 style : replace (almost) all typedef with type alias's
2014-07-07 18:23:15 +01:00
artemp
0702679bb0
don't call *params.get<std::string>("type"), instead use static datasource::name()
...
(FIXME: consider removing redundant 'name' in feature_layer_descriptor)
2014-06-26 10:51:24 +01:00
artemp
3ded23fbab
move make_unique out of std namespace and allow building with c++14 compilers
...
( -std=c++1y )
2014-06-12 15:14:05 +01:00
Dane Springmeyer
d0b357cab7
scons: support MAPNIK_NAME option to customize libmapnik name for custom packaging
2014-06-09 13:55:56 -07:00
Dane Springmeyer
9e9747ffad
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
src/agg/process_building_symbolizer.cpp
src/cairo_context.cpp
src/cairo_renderer.cpp
src/grid/process_building_symbolizer.cpp
src/grid/process_line_pattern_symbolizer.cpp
src/grid/process_text_symbolizer.cpp
tests/python_tests/images/support/marker-text-line-scale-factor-0.899.png
tests/python_tests/images/support/marker-text-line-scale-factor-1.5.png
tests/python_tests/images/support/marker-text-line-scale-factor-1.png
tests/python_tests/images/support/marker-text-line-scale-factor-10.png
tests/python_tests/images/support/marker-text-line-scale-factor-100.png
tests/python_tests/images/support/marker-text-line-scale-factor-2.png
tests/python_tests/images/support/marker-text-line-scale-factor-5.png
tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-6-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
tests/visual_tests/test.py
2014-04-24 21:44:28 -07:00
Dane Springmeyer
39737c5f1d
Merge branch '2.3.x' of github.com:mapnik/mapnik
...
Conflicts:
.travis.yml
CHANGELOG.md
bindings/python/build.py
include/mapnik/feature_style_processor_context.hpp
include/mapnik/feature_style_processor_impl.hpp
include/mapnik/json/feature_collection_grammar.hpp
include/mapnik/json/feature_collection_parser.hpp
include/mapnik/json/feature_generator_grammar.hpp
include/mapnik/json/feature_parser.hpp
include/mapnik/json/geojson_generator.hpp
include/mapnik/json/geometry_generator_grammar.hpp
include/mapnik/json/geometry_parser.hpp
plugins/input/gdal/gdal_featureset.cpp
plugins/input/geojson/geojson_datasource.cpp
plugins/input/occi/occi_featureset.cpp
plugins/input/osm/osm_featureset.cpp
plugins/input/postgis/build.py
plugins/input/postgis/connection.hpp
src/agg/agg_renderer.cpp
src/build.py
src/cairo_context.cpp
src/datasource_cache.cpp
src/grid/process_line_symbolizer.cpp
src/grid/process_polygon_pattern_symbolizer.cpp
src/grid/process_polygon_symbolizer.cpp
src/grid/process_text_symbolizer.cpp
src/json/feature_grammar.cpp
tests/cpp_tests/fontset_runtime_test.cpp
tests/visual_tests/images/collision-600-400-1.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-512-512-1.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-512-512-2.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-1.0-agg-reference.png
tests/visual_tests/images/image-filters-multi-blur-inflate-512-512-2.0-agg-reference.png
tests/visual_tests/images/lines-1-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-1-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-1-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-2-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-2-400-400-1.0-cairo-reference.png
tests/visual_tests/images/lines-2-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-2-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-2-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-3-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-3-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-3-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-5-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-5-400-400-2.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-5-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-5-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-1.0-agg-reference.png
tests/visual_tests/images/lines-6-200-200-2.0-agg-reference.png
tests/visual_tests/images/lines-6-400-400-1.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-1.0-agg-reference.png
tests/visual_tests/images/lines-6-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-1.0-agg-reference.png
tests/visual_tests/images/lines-6-800-800-2.0-agg-reference.png
tests/visual_tests/images/lines-shield-600-600-2.0-agg-reference.png
tests/visual_tests/images/lines-shield-600-600-2.0-cairo-reference.png
tests/visual_tests/images/shield-on-polygon-600-400-1.0-agg-reference.png
tests/visual_tests/images/shield-on-polygon-600-400-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-490-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-495-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-497-100-1.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-497-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-498-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-499-100-1.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-499-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-500-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-501-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-502-100-1.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-502-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-1-505-100-2.0-cairo-reference.png
tests/visual_tests/images/shieldsymbolizer-1-510-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-490-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-495-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-497-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-498-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-499-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-500-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-501-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-502-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-505-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-3-510-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-490-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-495-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-497-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-498-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-499-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-500-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-501-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-502-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-505-100-2.0-agg-reference.png
tests/visual_tests/images/shieldsymbolizer-4-510-100-2.0-agg-reference.png
tests/visual_tests/test.py
2014-04-24 14:50:55 -07:00
Dane Springmeyer
c9e3248cec
more auto_ptr usage to avoid bare geometry pointers
2014-03-12 13:11:51 -07:00
Dane Springmeyer
6433d9482e
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
include/mapnik/symbolizer.hpp
src/agg/agg_renderer.cpp
src/agg/process_line_pattern_symbolizer.cpp
src/agg/process_line_symbolizer.cpp
src/agg/process_polygon_pattern_symbolizer.cpp
src/agg/process_polygon_symbolizer.cpp
src/cairo_renderer.cpp
src/feature_type_style.cpp
src/grid/process_line_pattern_symbolizer.cpp
src/grid/process_line_symbolizer.cpp
src/grid/process_markers_symbolizer.cpp
src/grid/process_polygon_pattern_symbolizer.cpp
src/grid/process_polygon_symbolizer.cpp
2014-03-10 00:05:56 -07:00
Dane Springmeyer
0fbcc12678
fix static linking of gdal/ogr plugins on linux - refs mapnik/mapnik-packaging#123
2014-02-27 14:40:09 -08:00
Dane Springmeyer
6f14228e30
fix static linking of gdal/ogr plugins on linux - refs mapnik/mapnik-packaging#123
2014-02-27 14:02:24 -08:00
Dane Springmeyer
49aadae244
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
tests/visual_tests/test.py
2014-01-17 20:04:09 -08:00
Dane Springmeyer
77da5d919c
further gdal nodata handling improvements - refs #2023
...
Conflicts:
plugins/input/gdal/gdal_featureset.cpp
2014-01-17 19:46:35 -08:00
Dane Springmeyer
8faf5511f1
further gdal nodata handling improvements - refs #2023
2014-01-17 19:13:53 -08:00
Dane Springmeyer
e9ca9c8790
symbolizer-expressions replayed against latest master
2013-11-27 22:50:15 -08:00
Dane Springmeyer
710d558218
scons: simplify linkflags/ldflags setting / attempt to fix #2025
2013-10-22 16:35:46 -04:00
artemp
3edfc69c81
== c++11
...
use std::tuple with std::get<>
2013-10-11 12:36:04 +01:00
artemp
89586fbdf1
+ only extract expected types from mapnik::parameters
...
aka mapnik::value_xxx types
2013-10-09 15:32:47 +01:00
Dane Springmeyer
0f4ba4dfd5
sync with 2.3.x branch
2013-09-25 20:04:31 -07:00
Dane Springmeyer
226e5b2d7a
no need to set 'value' attribute on rasters except for point query
2013-09-25 15:24:08 -07:00
Dane Springmeyer
df3a455e19
refactor nodata related code dropping support for user-overide nodata where it does not make sense - refs #2023
2013-09-25 14:37:21 -07:00
artemp
b315eb2167
+ use std::shared_ptr and std::make_shared
2013-09-20 14:01:27 +01:00
artemp
d4b9a48cb1
+ geometry::types Exterior/Interior polygon loops
2013-09-03 12:15:31 +01:00
Dane Springmeyer
72c019f1c3
wrap section of gdal plugin only needed for debug output
2013-08-19 22:30:23 -04:00
Dane Springmeyer
032e33cc9f
remove filter_factor as option to gdal datasource, clean up pass down from query object - closes #1488 - refs #625
2013-07-19 19:22:45 -04:00
Dane Springmeyer
a21f883c5c
fix linking of gdal/ogr plugins when linking to statically built gdal
2013-06-03 13:43:49 -07:00
Dane Springmeyer
3fbf4df67d
add support for statically linking datasource input plugins - closes #1810 and #1821 - refs #249
2013-05-16 11:55:58 -07:00
Dane Springmeyer
541e1b7ba2
round floating point to int - refs #1672
2013-03-13 12:19:10 -07:00
Dane Springmeyer
e16567fecb
fixup std:: prefixing of cmath functions - closes #1694
2013-01-17 13:53:48 -08:00
Dane Springmeyer
b5c06965ac
refactor expression and value type usage to speed up compile time
2013-01-08 14:17:31 -08:00
Dane Springmeyer
4bd5484cdb
fixup includes and value type and params usage across plugins
2013-01-04 09:23:06 -08:00
artemp
a38b252ccd
Merge branch 'master' into bigint
...
Conflicts:
plugins/input/geojson/geojson_datasource.cpp
plugins/input/postgis/postgis_featureset.cpp
2012-12-18 13:57:39 +00:00
Dane Springmeyer
7b39333234
remove as much mutable as possible
2012-12-17 12:59:15 -08:00
Dane Springmeyer
c5410fac7e
remove bind option for datasources - refs #962
2012-12-17 10:03:07 -08:00
artemp
c4bae9d30a
Merge branch 'master' into bigint
...
Conflicts:
bindings/python/mapnik_feature.cpp
plugins/input/shape/dbfile.cpp
2012-12-14 10:01:21 +00:00
Dane Springmeyer
772c7f52fc
knock out some msvc compiler warnings
2012-12-12 15:59:27 -08:00
artemp
855aea95e0
+ mapnik::value and mapnik::parameters - initial support for 64-bit integers
2012-12-03 13:12:09 +00:00
Dane Springmeyer
c27530ec7b
remove inefficient and no longer used mapnik::raster constructor - refs #1516
2012-10-03 18:22:18 -07:00
Dane Springmeyer
4bc6b0c800
avoid copy of image data by using new, more efficient mapnik::raster constructor - closes #1516
2012-10-03 15:53:41 -07:00
Dane Springmeyer
86e805b33e
Merge pull request #1499 from manelclos/master
...
Query tolerance for features_at_point
2012-10-03 11:50:29 -07:00
Dane Springmeyer
0b9ebe21dd
use boost make_shared
2012-10-02 14:12:15 -07:00
Manel Clos
8f7083d14d
Add tolerance parameter to features_at_point
...
Make map.query_point() always pass tolerance to datasources
2012-09-28 15:12:10 +02:00
artemp
ae176d1d19
+ use 'extent' for both raster.input and gdal.input
2012-09-24 17:12:03 +01:00
Dane Springmeyer
ac418a7d4e
remote the last references
2012-08-27 16:43:40 -07:00
Dane Springmeyer
107c72563f
avoid some msvc compiler warnings in gdal input- refs #1103
2012-08-15 12:37:17 -07:00
artemp
5f2c2d1a37
+ c++ style
2012-08-09 12:41:35 +01:00
Dane Springmeyer
241bf28da0
'include what you use' in plugins to set up for future forward declarations in mapnik/feature.hpp and mapnik/datasource.hpp
2012-07-24 19:21:55 -07:00
Dane Springmeyer
669c4906d4
avoid c-linkage warning with datasources - closes #1323
2012-07-20 18:34:41 -07:00
kunitoki
74342e3083
- no need to #ifdef all the time: the compiler should optimize out the log calls when no MAPNIK_LOG is defined
...
- initially got rid of those ifdefs in plugins only
2012-04-09 12:05:49 +02:00
kunitoki
8c58a9aa73
- improved again the logging facilities
...
- aligned the plugins to using the new methods with severity
- implemented per object severity, with fallback to global (with global functions to set them programmatically)
- initial check in of logger python bindings (todo)
2012-04-09 03:00:51 +02:00
kunitoki
af201551b8
got rid of old CVS $Id comments kludge in files
2012-04-08 02:45:01 +02:00
kunitoki
1f351e0e09
implement new debug system
2012-04-08 02:20:56 +02:00
Dane Springmeyer
46b16c917e
support nodata for paletted images and allow user to set nodata on-the-fly - closes #1160 and #1161 - refs #688 and refs #730 and refs #50 and refs #1018
2012-04-03 16:06:36 -07:00
Hermann Kraus
c3cd50ff57
Complete new XML structure.
2012-03-07 19:16:41 +01:00
Dane Springmeyer
b44a63ac1f
link all remaining plugins to boost_system to avoid potential linking errors with boost-trunk (upcoming 1.49) - closes #1070
2012-02-09 16:00:11 -08:00
Dane Springmeyer
77c58e487d
whitespace fixes
2012-02-01 17:37:35 -08:00
Dane Springmeyer
c576291346
push value into context for gdal plugin
2012-01-23 23:50:24 -08:00
Artem Pavlenko
7601095e24
move context's typedef inside to avoid poluting global namespace
2012-01-19 17:36:27 -05:00
Artem Pavlenko
e699ba17cb
Merge branch 'master' into feature_impl
2012-01-18 07:48:57 -05:00
Dane Springmeyer
fb80de8dfe
ogr plugin: for geometry type inspection support older gdal/ogr versions - fixes compile on ubuntu oneiric
2012-01-17 18:43:01 -05:00
Artem Pavlenko
63a3399036
Merge branch 'feature_impl' of github.com:mapnik/mapnik into feature_impl
2012-01-17 17:58:34 -05:00
Artem Pavlenko
7f816eaeca
fix init order
2012-01-17 17:58:00 -05:00
Dane Springmeyer
820b9a2b25
merge master with feature_impl
2012-01-17 17:47:27 -05:00
Dane Springmeyer
e4c03f6a54
adapt occi, geos, and kismet plugins to new feature impl
2012-01-17 14:22:21 -05:00
Dane Springmeyer
b0d0d06564
finish refactor, moving to separate method off datasources to get_geometry_type and using enums all around
2012-01-17 01:09:46 -05:00
Artem Pavlenko
e17c6ec5ff
feature_impl update
2012-01-16 17:55:44 -05:00
Dane Springmeyer
8d11b0f16e
close #970 by removing non-north-up restriction which appears not to be working properly
2012-01-09 08:39:22 -08:00
Artem Pavlenko
b689670ffd
switch back from mapnik2 to mapnik
...
add mapnik2 module which redirects to mapnik and issues DeprecationWarning
2011-11-23 11:33:58 +00:00
Dane Springmeyer
ce9e44b5f2
plugin code formatting based on emacs format in utils/format_source_files
2011-11-13 19:37:50 -08:00
Dane Springmeyer
c8b2ddfaba
reduce the size of plugin libraries by hiding unneeded symbols
2011-11-11 15:37:10 -08:00
Artem Pavlenko
6b0e414aa1
use rint from global.hpp in windows
2011-11-08 11:50:56 +00:00
Dane Springmeyer
820e1865dc
when statically linking, proj linking is needed for libgdal
2011-10-29 22:33:49 -07:00
kunitoki
ce5acb94b4
- removed a refuse of the past in gdal plugin
2011-10-22 14:27:21 +02:00
kunitoki
3d0de64051
- fix indentation and trailing spaces (generally coding style) in gdal plugin partially related to #911
2011-10-22 02:46:29 +02:00
Dane Springmeyer
22c39d91ba
scons: rename all SConscript files to more friendly name of 'build' with a python extension for quick syntax detection in editors
2011-08-30 05:32:01 +00:00
Dane Springmeyer
3e67c1d694
scons: centralize install path info
2011-08-12 21:31:28 +00:00
Dane Springmeyer
82ac99611e
add LINKING option to control whether libmapnik is build static or shared and RUNTIME_LINK options to trigger dependency flags to compile against static libs
2011-08-11 19:14:00 +00:00
Dane Springmeyer
e84119aed9
directly link libmapnik in plugins (not just darwin) - patch from Stella L. - closes #790
2011-07-05 23:41:17 +00:00
Dane Springmeyer
49fd1f93d1
use boost::make_shared across plugins to avoid explicit new and ensure fast and exception safe allocation
2011-05-16 23:41:34 +00:00
Dane Springmeyer
b3c258c9a8
allow usage of boost::make_shared in gdal featureset construction by passing const reference - #760
2011-05-16 22:17:50 +00:00
Dane Springmeyer
d05b0c539f
apply major refactor of RasterColorizer by ben moores from https://github.com/BenMoores/mapnik-trunk/wiki/RasterColorizer - closes #523
2011-05-04 00:20:17 +00:00
Dane Springmeyer
5a1842aad1
remove tabs
2011-04-02 03:45:50 +00:00
Dane Springmeyer
b8663b67e3
handle NODATA for rgb and grey images in gdal.input - closes #727
2011-03-11 21:28:18 +00:00
Dane Springmeyer
c5833a6db8
remove unmaintained autotools scripts
2011-02-04 22:22:16 +00:00
Dane Springmeyer
1dd2ef690d
handle colortable for paletted images in gdal plugin - closes #50
2011-01-27 03:11:22 +00:00
Dane Springmeyer
f671ef20da
scons: ensure libmapnik is built before any plugins that link to it on osx, needed for builds with -jN
2010-12-21 20:46:44 +00:00
Dane Springmeyer
9700ad4fb2
avoid compiler warning by only adding 'get_overview_meta' in debug mode
2010-12-20 19:17:56 +00:00
Robert Coup
408de0c223
Add bbox parameter to GDAL Datasource to allow overriding envelope, with Python bindings. Fixes #680
2010-12-09 21:41:25 +00:00
Lucio Asnaghi
013d48f667
+ logging cosmetics
2010-11-18 22:17:09 +00:00