__init__.py 1019 B

1234567891011121314151617181920212223242526272829303132333435
  1. import json
  2. import os
  3. path = os.path.dirname(__file__)
  4. def load_schema(version, name='isp'):
  5. """
  6. Load a schema from ./``version``/``name``.json and return it.
  7. """
  8. schemapath = os.path.join(path, str(version), '%s.json'%(name,))
  9. with open(schemapath) as f:
  10. return json.load(f)
  11. versions = {
  12. 0.1: load_schema('0.1'),
  13. 0.2: load_schema('0.2'),
  14. }
  15. latest = versions[0.1]
  16. def deps_for_version(version):
  17. return {
  18. 'http://json-schema.org/geo': load_schema(version, 'geo'),
  19. 'http://json-schema.org/address': load_schema(version, 'address'),
  20. 'http://json-schema.org/geojson/geojson.json#': load_schema(version, 'geojson/geojson'),
  21. 'http://json-schema.org/geojson/geometry.json#': load_schema(version, 'geojson/geometry'),
  22. 'http://json-schema.org/geojson/bbox.json#': load_schema(version, 'geojson/bbox'),
  23. 'http://json-schema.org/geojson/crs.json#': load_schema(version, 'geojson/crs'),
  24. }
  25. __all__ = ['path', 'versions', 'latest']