from ..adapters.sqlite import SQLite, Spatialite from .base import SQLRepresenter, JSONRepresenter from . import representers, before_type, for_type @representers.register_for(SQLite) class SQLiteRepresenter(SQLRepresenter, JSONRepresenter): pass @representers.register_for(Spatialite) class SpatialiteRepresenter(SQLRepresenter): @before_type("geometry") def geometry_extras(self, field_type): srid = 4326 geotype, params = field_type[:-1].split("(") params = params.split(",") if len(params) >= 2: schema, srid = params[:2] return {"srid": srid} @for_type("geometry", adapt=False) def _geometry(self, value, srid): return "ST_GeomFromText('%s',%s)" % (value, srid)