geometry.py 788 B

12345678910111213141516171819
  1. import re
  2. from django.utils.regex_helper import _lazy_re_compile
  3. # Regular expression for recognizing HEXEWKB and WKT. A prophylactic measure
  4. # to prevent potentially malicious input from reaching the underlying C
  5. # library. Not a substitute for good web security programming practices.
  6. hex_regex = _lazy_re_compile(r"^[0-9A-F]+$", re.I)
  7. wkt_regex = _lazy_re_compile(
  8. r"^(SRID=(?P<srid>\-?[0-9]+);)?"
  9. r"(?P<wkt>"
  10. r"(?P<type>POINT|LINESTRING|LINEARRING|POLYGON|MULTIPOINT|"
  11. r"MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION|CIRCULARSTRING|COMPOUNDCURVE|"
  12. r"CURVEPOLYGON|MULTICURVE|MULTISURFACE|CURVE|SURFACE|POLYHEDRALSURFACE|TIN|"
  13. r"TRIANGLE)"
  14. r"[ACEGIMLONPSRUTYZ0-9,.+() -]+)$",
  15. re.I,
  16. )
  17. json_regex = _lazy_re_compile(r"^(\s+)?\{.*}(\s+)?$", re.DOTALL)