2010-01-27 11:32:30 +08:00
|
|
|
import re
|
|
|
|
|
2019-10-26 22:42:32 +08:00
|
|
|
from django.utils.regex_helper import _lazy_re_compile
|
|
|
|
|
2010-01-27 11:32:30 +08:00
|
|
|
# Regular expression for recognizing HEXEWKB and WKT. A prophylactic measure
|
|
|
|
# to prevent potentially malicious input from reaching the underlying C
|
2010-10-09 16:12:50 +08:00
|
|
|
# library. Not a substitute for good Web security programming practices.
|
2019-10-26 22:42:32 +08:00
|
|
|
hex_regex = _lazy_re_compile(r'^[0-9A-F]+$', re.I)
|
|
|
|
wkt_regex = _lazy_re_compile(
|
|
|
|
r'^(SRID=(?P<srid>\-?\d+);)?'
|
|
|
|
r'(?P<wkt>'
|
|
|
|
r'(?P<type>POINT|LINESTRING|LINEARRING|POLYGON|MULTIPOINT|'
|
|
|
|
r'MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)'
|
|
|
|
r'[ACEGIMLONPSRUTYZ\d,\.\-\+\(\) ]+)$',
|
|
|
|
re.I
|
|
|
|
)
|
|
|
|
json_regex = _lazy_re_compile(r'^(\s+)?\{.*}(\s+)?$', re.DOTALL)
|