/usr/lib/python3/dist-packages/geojson/mapping.py is in python3-geojson 1.3.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | from collections import MutableMapping
try:
import simplejson as json
except ImportError:
import json
import geojson
mapping_base = MutableMapping
GEO_INTERFACE_MARKER = "__geo_interface__"
def is_mapping(obj):
"""
Checks if the object is an instance of MutableMapping.
:param obj: Object to be checked.
:return: Truth value of whether the object is an instance of
MutableMapping.
:rtype: bool
"""
return isinstance(obj, MutableMapping)
def to_mapping(obj):
mapping = getattr(obj, GEO_INTERFACE_MARKER, None)
if mapping is not None:
return mapping
if is_mapping(obj):
return obj
if isinstance(obj, geojson.GeoJSON):
return dict(obj)
return json.loads(json.dumps(obj))
|