import datetime
import json
import gws
from ..data import version
[docs]def default(o):
if isinstance(o, datetime.date) or isinstance(o, datetime.datetime):
return o.isoformat()
[docs]def as_json(s):
if s is None:
return None
return json.dumps(s, ensure_ascii=False, indent=4, sort_keys=True, default=default)
[docs]def from_json(s):
if s is None:
return None
return json.loads(s)
[docs]def validate_geoms(conn, table):
warnings = conn.validate_index_geoms(table)
for w in warnings:
gws.log.warn('geometry error in %r: %s' % (table, w))
[docs]def check_version(conn, table):
ver = conn.index_table_version(table)
if ver == version.INDEX:
gws.log.debug('index %r version %s, ok' % (table, ver))
return True
gws.log.warn('index %r version %s, needs update' % (table, ver))
return False