hdx-python-utilities 4.0.1__tar.gz → 4.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/PKG-INFO +1 -1
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/_version.py +2 -2
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/downloader.py +2 -2
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/email.py +3 -2
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/html.py +2 -1
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/session.py +2 -1
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/useragent.py +10 -9
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/.coveragerc +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/.github/workflows/publish-test.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/.github/workflows/publish.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/.github/workflows/run-python-tests.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/.gitignore +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/.pre-commit-config.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/CONTRIBUTING.md +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/LICENSE +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/README.md +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/documentation/.readthedocs.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/documentation/index.md +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/documentation/mkdocs.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/hatch.toml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/pyproject.toml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/pytest.ini +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/requirements.txt +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/ruff.toml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/__init__.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/base_downloader.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/compare.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/dateparse.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/dictandlist.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/easy_logging.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/encoding.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/error_handler.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/errors_onexit.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/file_hashing.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/frictionless_wrapper.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/loader.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/matching.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/path.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/retriever.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/saver.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/state.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/text.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/uuid.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/zip_crc.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/compare/test_csv_processing.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/compare/test_csv_processing2.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/empty.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/hdx_config.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/hdx_config.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/hdx_email_configuration.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/hdx_email_configuration.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/json_csv.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/logging_config.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/logging_config.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/project_configuration.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/project_configuration.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/smtp_config.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/smtp_config.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/user_agent_config.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/user_agent_config2.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/user_agent_config3.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/user_agent_config_wrong.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/basicauth.txt +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/bearertoken.txt +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/extra_params.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/extra_params.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/extra_params_tree.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_csv_processing.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_csv_processing_blanks.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_data.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_data.xlsx +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_data1.csv/empty.txt +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_data2.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_json_processing.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_xls_processing.xls +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_xlsx_processing.xlsx +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/bad_header.zip +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/bad_index.xlsx +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/empty.zip +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/test.xlsx +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/test_shapefile.zip +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/valid_sig_invalid_body.zip +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/html/response.html +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/loader/empty.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/loader/empty.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/loader/empty_list.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/fallbacks/test.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/fallbacks/test.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/fallbacks/test.txt +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/fallbacks/test.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/retriever-test.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/test.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/test.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/test.txt +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/test.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/test_hxl.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/out.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/out.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/out2.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/out2.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/out5.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/out6.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/out7.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/out8.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/out8.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/pretty-false_sortkeys-false.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/pretty-false_sortkeys-false.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/pretty-false_sortkeys-true.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/pretty-false_sortkeys-true.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/pretty-true_sortkeys-false.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/pretty-true_sortkeys-false.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/pretty-true_sortkeys-true.json +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/saver/pretty-true_sortkeys-true.yaml +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/state/analysis_dates.txt +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/state/last_build_date.txt +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/test_data.csv +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/conftest.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_compare.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_dateparse.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_dictandlist.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_downloader.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_easy_logging.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_email.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_encoding.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_error_handler.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_file_hashing.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_html.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_loader.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_matching.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_path.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_retriever.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_saver.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_state.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_text.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_useragent.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_uuid.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_zip_crc.py +0 -0
- {hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hdx-python-utilities
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.2
|
|
4
4
|
Summary: HDX Python Utilities for streaming tabular data, date and time handling and other helpful functions
|
|
5
5
|
Project-URL: Homepage, https://github.com/OCHA-DAP/hdx-python-utilities
|
|
6
6
|
Author-email: Michael Rans <rans@email.com>
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '4.0.
|
|
32
|
-
__version_tuple__ = version_tuple = (4, 0,
|
|
31
|
+
__version__ = version = '4.0.2'
|
|
32
|
+
__version_tuple__ = version_tuple = (4, 0, 2)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -65,7 +65,7 @@ class Download(BaseDownload):
|
|
|
65
65
|
def __init__(
|
|
66
66
|
self,
|
|
67
67
|
user_agent: str | None = None,
|
|
68
|
-
user_agent_config_yaml: str | None = None,
|
|
68
|
+
user_agent_config_yaml: Path | str | None = None,
|
|
69
69
|
user_agent_lookup: str | None = None,
|
|
70
70
|
use_env: bool = True,
|
|
71
71
|
fail_on_missing_file: bool = True,
|
|
@@ -1279,7 +1279,7 @@ class Download(BaseDownload):
|
|
|
1279
1279
|
cls,
|
|
1280
1280
|
custom_configs: dict[str, dict],
|
|
1281
1281
|
user_agent: str | None = None,
|
|
1282
|
-
user_agent_config_yaml: str | None = None,
|
|
1282
|
+
user_agent_config_yaml: Path | str | None = None,
|
|
1283
1283
|
user_agent_lookup: str | None = None,
|
|
1284
1284
|
use_env: bool = True,
|
|
1285
1285
|
fail_on_missing_file: bool = True,
|
|
@@ -5,7 +5,8 @@ import smtplib
|
|
|
5
5
|
from collections.abc import Sequence
|
|
6
6
|
from email.mime.multipart import MIMEMultipart
|
|
7
7
|
from email.mime.text import MIMEText
|
|
8
|
-
from os.path import expanduser
|
|
8
|
+
from os.path import expanduser
|
|
9
|
+
from pathlib import Path
|
|
9
10
|
from typing import Any
|
|
10
11
|
|
|
11
12
|
from hdx.utilities.loader import load_json, load_yaml
|
|
@@ -45,7 +46,7 @@ class Email:
|
|
|
45
46
|
email_config_yaml (str): Path to YAML HDX configuration. Defaults to ~/hdx_email_configuration.yaml.
|
|
46
47
|
"""
|
|
47
48
|
|
|
48
|
-
default_email_config_yaml =
|
|
49
|
+
default_email_config_yaml = Path(expanduser("~")) / "hdx_email_configuration.yaml"
|
|
49
50
|
|
|
50
51
|
def __init__(self, **kwargs: Any) -> None:
|
|
51
52
|
email_config_found = False
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""HTML parsing utilities."""
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
|
+
from pathlib import Path
|
|
4
5
|
from typing import Any
|
|
5
6
|
|
|
6
7
|
try:
|
|
@@ -20,7 +21,7 @@ if BeautifulSoup is not None:
|
|
|
20
21
|
url: str,
|
|
21
22
|
downloader: Download = None,
|
|
22
23
|
user_agent: str | None = None,
|
|
23
|
-
user_agent_config_yaml: str | None = None,
|
|
24
|
+
user_agent_config_yaml: Path | str | None = None,
|
|
24
25
|
user_agent_lookup: str | None = None,
|
|
25
26
|
**kwargs: Any,
|
|
26
27
|
) -> BeautifulSoup:
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
4
|
import os
|
|
5
|
+
from pathlib import Path
|
|
5
6
|
from typing import Any
|
|
6
7
|
|
|
7
8
|
import requests
|
|
@@ -22,7 +23,7 @@ class SessionError(Exception):
|
|
|
22
23
|
|
|
23
24
|
def get_session(
|
|
24
25
|
user_agent: str | None = None,
|
|
25
|
-
user_agent_config_yaml: str | None = None,
|
|
26
|
+
user_agent_config_yaml: Path | str | None = None,
|
|
26
27
|
user_agent_lookup: str | None = None,
|
|
27
28
|
use_env: bool = True,
|
|
28
29
|
fail_on_missing_file: bool = True,
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
4
|
import os
|
|
5
|
-
from os.path import expanduser
|
|
5
|
+
from os.path import expanduser
|
|
6
|
+
from pathlib import Path
|
|
6
7
|
from typing import Any
|
|
7
8
|
|
|
8
9
|
from hdx.utilities import __version__
|
|
@@ -16,7 +17,7 @@ class UserAgentError(Exception):
|
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
class UserAgent:
|
|
19
|
-
default_user_agent_config_yaml =
|
|
20
|
+
default_user_agent_config_yaml = Path(expanduser("~")) / ".useragent.yaml"
|
|
20
21
|
user_agent = None
|
|
21
22
|
|
|
22
23
|
@staticmethod
|
|
@@ -68,7 +69,7 @@ class UserAgent:
|
|
|
68
69
|
def _load(
|
|
69
70
|
cls,
|
|
70
71
|
prefix: str,
|
|
71
|
-
user_agent_config_yaml: str,
|
|
72
|
+
user_agent_config_yaml: Path | str,
|
|
72
73
|
user_agent_lookup: str | None = None,
|
|
73
74
|
) -> str:
|
|
74
75
|
"""Load user agent YAML file.
|
|
@@ -83,9 +84,9 @@ class UserAgent:
|
|
|
83
84
|
"""
|
|
84
85
|
if not user_agent_config_yaml:
|
|
85
86
|
user_agent_config_yaml = cls.default_user_agent_config_yaml
|
|
86
|
-
if not
|
|
87
|
-
user_agent_config_yaml = user_agent_config_yaml.
|
|
88
|
-
if
|
|
87
|
+
if not user_agent_config_yaml.is_file():
|
|
88
|
+
user_agent_config_yaml = user_agent_config_yaml.with_suffix(".yml")
|
|
89
|
+
if user_agent_config_yaml.is_file():
|
|
89
90
|
logger.info(
|
|
90
91
|
f"No user agent or user agent config file given. Using default user agent config file: {user_agent_config_yaml}."
|
|
91
92
|
)
|
|
@@ -108,7 +109,7 @@ class UserAgent:
|
|
|
108
109
|
def _create(
|
|
109
110
|
cls,
|
|
110
111
|
user_agent: str | None = None,
|
|
111
|
-
user_agent_config_yaml: str | None = None,
|
|
112
|
+
user_agent_config_yaml: Path | str | None = None,
|
|
112
113
|
user_agent_lookup: str | None = None,
|
|
113
114
|
**kwargs: Any,
|
|
114
115
|
) -> str:
|
|
@@ -146,7 +147,7 @@ class UserAgent:
|
|
|
146
147
|
def set_global(
|
|
147
148
|
cls,
|
|
148
149
|
user_agent: str | None = None,
|
|
149
|
-
user_agent_config_yaml: str | None = None,
|
|
150
|
+
user_agent_config_yaml: Path | str | None = None,
|
|
150
151
|
user_agent_lookup: str | None = None,
|
|
151
152
|
**kwargs: Any,
|
|
152
153
|
) -> None:
|
|
@@ -168,7 +169,7 @@ class UserAgent:
|
|
|
168
169
|
def get(
|
|
169
170
|
cls,
|
|
170
171
|
user_agent: str | None = None,
|
|
171
|
-
user_agent_config_yaml: str | None = None,
|
|
172
|
+
user_agent_config_yaml: Path | str | None = None,
|
|
172
173
|
user_agent_lookup: str | None = None,
|
|
173
174
|
**kwargs: Any,
|
|
174
175
|
) -> str:
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/.github/workflows/publish-test.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/.github/workflows/run-python-tests.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/base_downloader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/error_handler.py
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/errors_onexit.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/src/hdx/utilities/frictionless_wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/hdx_config.json
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/hdx_config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/json_csv.yaml
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/logging_config.json
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/logging_config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/smtp_config.json
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/config/smtp_config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/basicauth.txt
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/bearertoken.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_data.csv
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_data.xlsx
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/downloader/test_data2.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/bad_header.zip
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/bad_index.xlsx
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/empty.zip
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/file_hashing/test.xlsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/loader/empty_list.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/test.json
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/test.yaml
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/retriever/test_hxl.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/state/analysis_dates.txt
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/fixtures/state/last_build_date.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_compare.py
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_dateparse.py
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_dictandlist.py
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_downloader.py
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_easy_logging.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_encoding.py
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_error_handler.py
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_file_hashing.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_loader.py
RENAMED
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_matching.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_retriever.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_useragent.py
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_utilities-4.0.1 → hdx_python_utilities-4.0.2}/tests/hdx/utilities/test_zip_crc.py
RENAMED
|
File without changes
|
|
File without changes
|