Ajoutez des fichiers projet.
This commit is contained in:
33
venv/Lib/site-packages/django/contrib/gis/geos/factory.py
Normal file
33
venv/Lib/site-packages/django/contrib/gis/geos/factory.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from django.contrib.gis.geos.geometry import GEOSGeometry, hex_regex, wkt_regex
|
||||
|
||||
|
||||
def fromfile(file_h):
|
||||
"""
|
||||
Given a string file name, returns a GEOSGeometry. The file may contain WKB,
|
||||
WKT, or HEX.
|
||||
"""
|
||||
# If given a file name, get a real handle.
|
||||
if isinstance(file_h, str):
|
||||
with open(file_h, 'rb') as file_h:
|
||||
buf = file_h.read()
|
||||
else:
|
||||
buf = file_h.read()
|
||||
|
||||
# If we get WKB need to wrap in memoryview(), so run through regexes.
|
||||
if isinstance(buf, bytes):
|
||||
try:
|
||||
decoded = buf.decode()
|
||||
except UnicodeDecodeError:
|
||||
pass
|
||||
else:
|
||||
if wkt_regex.match(decoded) or hex_regex.match(decoded):
|
||||
return GEOSGeometry(decoded)
|
||||
else:
|
||||
return GEOSGeometry(buf)
|
||||
|
||||
return GEOSGeometry(memoryview(buf))
|
||||
|
||||
|
||||
def fromstr(string, **kwargs):
|
||||
"Given a string value, return a GEOSGeometry object."
|
||||
return GEOSGeometry(string, **kwargs)
|
Reference in New Issue
Block a user