_Downloader.validate_subregion_name
- classmethod _Downloader.validate_subregion_name(subregion_name, valid_subregion_names=None, raise_err=True, **kwargs)
Validate an input name of a geographic (sub)region.
The validation is done by matching the input to a name of a geographic (sub)region available on a free download server.
- Parameters:
subregion_name (str) – name/URL of a (sub)region available on a free download server
valid_subregion_names (Iterable) – names of all (sub)regions available on a free download server
raise_err (bool) – (if the input fails to match a valid name) whether to raise the error
pydriosm.downloader.InvalidSubregionName
, defaults toTrue
kwargs – [optional] parameters of pyhelpers.text.find_similar_str()
- Returns:
valid subregion name that matches (or is the most similar to) the input
- Return type:
str
Tests:
>>> from pydriosm.downloader import _Downloader >>> subrgn_name = 'abc' >>> _Downloader.validate_subregion_name(subrgn_name) Traceback (most recent call last): ... pydriosm.errors.InvalidSubregionNameError: `subregion_name='abc'` 1) `subregion_name` fails to match any in `<downloader>.valid_subregion_names`; or 2) The queried (sub)region is not available on the free download server. >>> avail_subrgn_names = ['Greater London', 'Great Britain', 'Birmingham', 'Leeds'] >>> subrgn_name = 'Britain' >>> _Downloader.validate_subregion_name(subrgn_name, avail_subrgn_names) 'Great Britain' >>> subrgn_name = 'london' >>> _Downloader.validate_subregion_name(subrgn_name, avail_subrgn_names) 'Greater London'
See also
Examples for the methods
GeofabrikDownloader.validate_subregion_name()
andBBBikeDownloader.validate_subregion_name()
.