This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch stretch in repository pyosmium.
commit 1e45b0eea2f08c88a05884cd64e0b2ad939db29d Author: Bas Couwenberg <[email protected]> Date: Sat Aug 26 15:07:40 2017 +0200 New upstream version 2.11.3 --- CHANGELOG.md | 21 +++++++++++++++++++++ lib/generic_handler.hpp | 23 +++++++++++++++-------- lib/merged_input.hpp | 1 + lib/osmium.cc | 6 ++++++ osmium/version.py | 4 ++-- 5 files changed, 45 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a3fffe..a8f58c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,27 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Fixed +## [2.11.3] - 2017-08-20 + +### Added + +### Changed + +- updated to latest libosmium 2.11 bugfix release + +### Fixed + +- handler functions not called when using Reader instead of file + +## [2.11.2] - 2017-05-25 + +### Added + +### Changed + +### Fixed + +- handler functions not called when using replication service (#38) ## [2.11.1] - 2017-05-04 diff --git a/lib/generic_handler.hpp b/lib/generic_handler.hpp index 778d87f..60390fe 100644 --- a/lib/generic_handler.hpp +++ b/lib/generic_handler.hpp @@ -25,6 +25,7 @@ protected: }; public: +virtual void apply_start() {}; // handler functions virtual void node(const osmium::Node&) const = 0; virtual void way(const osmium::Way&) const = 0; @@ -163,14 +164,7 @@ struct SimpleHandlerWrap: BaseHandler, wrapper<BaseHandler> { apply_object(osmium::io::File(cbuf, len, cfmt), locations, idx); } -private: - void apply_object(osmium::io::File file, bool locations, const std::string &idx) - { - osmium::osm_entity_bits::type entities = osmium::osm_entity_bits::nothing; - BaseHandler::pre_handler handler = locations? - BaseHandler::location_handler - :BaseHandler::no_handler; - + void apply_start() override { m_callbacks = osmium::osm_entity_bits::nothing; if (hasfunc("node")) m_callbacks |= osmium::osm_entity_bits::node; @@ -182,6 +176,18 @@ private: m_callbacks |= osmium::osm_entity_bits::area; if (hasfunc("changeset")) m_callbacks |= osmium::osm_entity_bits::changeset; + } + + +private: + void apply_object(osmium::io::File file, bool locations, const std::string &idx) + { + osmium::osm_entity_bits::type entities = osmium::osm_entity_bits::nothing; + BaseHandler::pre_handler handler = locations? + BaseHandler::location_handler + :BaseHandler::no_handler; + + apply_start(); if (m_callbacks & osmium::osm_entity_bits::area) { @@ -202,6 +208,7 @@ private: apply(file, entities, handler, idx); } + bool hasfunc(char const *name) { reference_existing_object::apply<SimpleHandlerWrap*>::type converter; PyObject* obj = converter( this ); diff --git a/lib/merged_input.hpp b/lib/merged_input.hpp index cffd70d..56da7e2 100644 --- a/lib/merged_input.hpp +++ b/lib/merged_input.hpp @@ -16,6 +16,7 @@ namespace pyosmium { class MergeInputReader { public: void apply(BaseHandler& handler, bool simplify = true) { + handler.apply_start(); if (simplify) { objects.sort(osmium::object_order_type_id_reverse_version()); osmium::item_type prev_type = osmium::item_type::undefined; diff --git a/lib/osmium.cc b/lib/osmium.cc index c598424..1f134bb 100644 --- a/lib/osmium.cc +++ b/lib/osmium.cc @@ -13,11 +13,17 @@ void apply_reader_simple(osmium::io::Reader &rd, T &h) { osmium::apply(rd, h); } +template <> +void apply_reader_simple(osmium::io::Reader &rd, BaseHandler &h) { + h.apply_start(); + osmium::apply(rd, h); +} template <typename T> void apply_reader_simple_with_location(osmium::io::Reader &rd, osmium::handler::NodeLocationsForWays<T> &l, BaseHandler &h) { + h.apply_start(); osmium::apply(rd, l, h); } diff --git a/osmium/version.py b/osmium/version.py index 7644885..b1fa13a 100644 --- a/osmium/version.py +++ b/osmium/version.py @@ -5,7 +5,7 @@ Version information. # the major version pyosmium_major = '2.11' # current release (Pip version) -pyosmium_release = '2.11.1' +pyosmium_release = '2.11.3' # libosmium version shipped with the Pip release -libosmium_version = '2.11.3' +libosmium_version = '2.11.4' -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pyosmium.git _______________________________________________ Pkg-grass-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

