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)