HXLStandard / libhxl-python

Python support library for the Humanitarian Exchange Language (HXL) data standard.
The Unlicense
41 stars 11 forks source link

Fix multiple deprecation warnings in multiple files #255

Closed mcarans closed 4 years ago

mcarans commented 4 years ago

When I include libhxl in a project, I get a long list of deprecation warnings as shown below. It would be helpful to fix these.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:13
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:13: DeprecationWarning: invalid escape sequence \d
    DEG_RE = '(?P<deg>\d+(?:\.\d*)?)\s*\°?'

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:14
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:14: DeprecationWarning: invalid escape sequence \d
    MIN_RE = '(?P<min>\d+(?:\.\d*)?)\s*[\'`′]?'

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:15
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:15: DeprecationWarning: invalid escape sequence \d
    SEC_RE = '(?P<sec>\d+(?:\.\d*)?)\s*(?:["“”″]|[\'`′][\'`′])?'

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:19
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:19: DeprecationWarning: invalid escape sequence \s
    '^(?P<sign>[+-])?\s*{}(?:[\s:;,-]*{}(?:[\s:;,-]*{})?)?$'.format(

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:24
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:24: DeprecationWarning: invalid escape sequence \s
    '^(?P<hemi>[NS])\s*{}(?:[\s:;,-]*{}(?:[\s:;,-]*{})?)?$'.format(

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:29
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:29: DeprecationWarning: invalid escape sequence \s
    '^{}\s*(?P<hemi>[NS])\s*(?:[\s:;,-]*{}(?:[\s:;,-]*{})?)?$'.format(

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:34
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:34: DeprecationWarning: invalid escape sequence \s
    '^{}(?:[\s:;,-]*{}(?:[\s:;,-]*{})?)\s*(?P<hemi>[NS])?$'.format(

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:43
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:43: DeprecationWarning: invalid escape sequence \s
    '^(?P<sign>[+-])?\s*{}(?:[\s:;,-]*{}(?:[\s:;,-]*{})?)?$'.format(

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:48
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:48: DeprecationWarning: invalid escape sequence \s
    '^(?P<hemi>[EW])\s*{}(?:[\s:;,-]*{}(?:[\s:;,-]*{})?)?$'.format(

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:53
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:53: DeprecationWarning: invalid escape sequence \s
    '^{}\s*(?P<hemi>[EW])\s*(?:[\s:;,-]*{}(?:[\s:;,-]*{})?)?$'.format(

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:58
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/geo.py:58: DeprecationWarning: invalid escape sequence \s
    '^{}(?:[\s:;,-]*{}(?:[\s:;,-]*{})?)\s*(?P<hemi>[EW])?$'.format(

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/datatypes.py:18
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/datatypes.py:18: DeprecationWarning: invalid escape sequence \s
    WHITESPACE_PATTERN = re.compile('\s+', re.MULTILINE)

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/datatypes.py:22
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/datatypes.py:22: DeprecationWarning: invalid escape sequence \d
    '^(?P<year>[12]\d\d\d)(?:Q(?P<quarter>[1-4])|W(?P<week>\d\d?)|-(?P<month>\d\d?)(?:-(?P<day>\d\d?))?)?$',

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/datatypes.py:28
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/datatypes.py:28: DeprecationWarning: invalid escape sequence \d
    '^(?P<year>[12]\d\d\d)-(?P<month>\d\d?)-(?P<day>\d\d?) \d\d?:\d\d?:\d\d?(?P<week>)?(?P<quarter>)?$'

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/model.py:832
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/model.py:832: DeprecationWarning: invalid escape sequence \s
    return re.split("\s*,\s*", value)

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/io.py:601
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/io.py:601: DeprecationWarning: invalid escape sequence \L
    """Detect the CSV delimiter in use

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/io_wrapper/raw_wrapper.py:1
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/io_wrapper/raw_wrapper.py:1: DeprecationWarning: invalid escape sequence \L
    """Raw binary IO wrapper.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/io_wrapper/raw_wrapper.py:13
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/io_wrapper/raw_wrapper.py:13: DeprecationWarning: invalid escape sequence \L
    """Wrapper for a raw (binary) IO object.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:513
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:513: DeprecationWarning: invalid escape sequence \s
    TAG_PATTERN = '#?{token}(?:\s*[+-]{token})*'.format(token=hxl.datatypes.TOKEN_PATTERN)

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:516
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:516: DeprecationWarning: invalid escape sequence \s
    COL_PATTERN = '#{token}(?:\s*\+{token})*'.format(token=hxl.datatypes.TOKEN_PATTERN)

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:1162
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:1162: DeprecationWarning: invalid escape sequence \s
    value = re.sub('^\s+', '', value)

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:1163
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:1163: DeprecationWarning: invalid escape sequence \s
    value = re.sub('\s+$', '', value)

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:1164
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:1164: DeprecationWarning: invalid escape sequence \s
    value = re.sub('\s+', ' ', value)

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:1205
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/filters.py:1205: DeprecationWarning: invalid escape sequence \d
    s = re.sub('[^\de.]+', '', value)

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1: DeprecationWarning: invalid escape sequence \L
    """Validation code for the Humanitarian Exchange Language (HXL) v1.0

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:51
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:51: DeprecationWarning: invalid escape sequence \L
    """Data structure to hold a HXL validation error.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:62
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:62: DeprecationWarning: invalid escape sequence \L
    """Construct a new validation error report.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:108
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:108: DeprecationWarning: invalid escape sequence \L
    """Base class for a single test inside a validation rule.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:153
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:153: DeprecationWarning: invalid escape sequence \I
    """Code to run after validating each dataset.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:199
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:199: DeprecationWarning: invalid escape sequence \I
    """Apply test at the dataset level

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:209
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:209: DeprecationWarning: invalid escape sequence \I
    """Apply test at the row level

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:219
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:219: DeprecationWarning: invalid escape sequence \I
    """Apply test at the cell level

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:326
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:326: DeprecationWarning: invalid escape sequence \L
    """Test for a specified datatype

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:992
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:992: DeprecationWarning: invalid escape sequence \L
    """A single rule within a schema.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1032
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1032: DeprecationWarning: invalid escape sequence \L
    """List of \L{AbstractRuleTest} objects to apply as part of this rule"""

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1169
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1169: DeprecationWarning: invalid escape sequence \L
    """Constructor

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1179
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1179: DeprecationWarning: invalid escape sequence \L
    """Execute the main validation workflow.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1251
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1251: DeprecationWarning: invalid escape sequence \L
    """Validate just at the dataset level

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1506
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1506: DeprecationWarning: invalid escape sequence \L
    """Convenience function for validating HXL data.

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1545
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1545: DeprecationWarning: invalid escape sequence \L
    """Generate a JSON error report from a dict of errors

/home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1591
  /home/mcarans/Programming/virtualenvs/hdx-data-freshness/lib/python3.8/site-packages/hxl/validation.py:1591: DeprecationWarning: invalid escape sequence \L
    """Create an issue (with list of locations) for a JSON validation report
davidmegginson commented 4 years ago

I had to turn on deprecation warnings explicitly to see these (they're hidden by default, at least in CPython 3.7):

import os, warnings
warnings.simplefilter("default")
os.environ["PYTHONWARNINGS"] = "default"
davidmegginson commented 4 years ago

Cleaned up deprecation errors from dependency: https://github.com/davidmegginson/python-io-wrapper

davidmegginson commented 4 years ago

Most deprecation errors removed. One is in an external library.