+ access feature_kv_iterator directly on mapnik::Feature::begin()/end()

+ avoid using 'feature' as variable name as mapnik::Feature will be renamed to mapnik::feature
+ revert 'describe' to 'attributes' (original name fits better in this context I think)
+ make attributes a Puython property
This commit is contained in:
Artem Pavlenko 2012-01-24 14:48:30 +00:00
parent 79d44e1bf8
commit c88d7e723d

View file

@ -78,12 +78,12 @@ void __setitem__(Feature & feature, std::string const& name, mapnik::value const
feature.put(name,val);
}
boost::python::dict describe(Feature const& feature)
boost::python::dict attributes(Feature const& f)
{
boost::python::dict attributes;
feature_kv_iterator itr(feature,true);
feature_kv_iterator end(feature);
feature_kv_iterator itr = f.begin();
feature_kv_iterator end = f.end();
for ( ;itr!=end; ++itr)
{
attributes[boost::get<0>(*itr)] = boost::get<1>(*itr);
@ -178,7 +178,7 @@ void export_feature()
.def("geometries",make_function(get_paths_by_const_ref,return_value_policy<reference_existing_object>()))
.def("envelope", &Feature::envelope)
.def("has_key", &Feature::has_key)
.def("describe",&describe)
.add_property("attributes",&attributes)
.def("__setitem__",&__setitem__)
.def("__getitem__",&__getitem__)
.def("__getitem__",&__getitem2__)