You can add additional arguments to mapnik.Python
method - they will be passed to datasource __init__
:
mvt = requestHandler(request, zoom, x, y)
datasource = mapnik.Python(factory='Datasource', mvt=mvt)
add argument to Datasource
class __init__
method definition and use it to save mvt
in class instance:
class Datasource(mapnik.PythonDatasource):
def __init__(self, mvt):
super(Datasource, self).__init__()
self.mvt = mvt
def features(self, query):
return mapnik.PythonDatasource.wkb_features(self.mvt)