python-openevse-http 1.0.2__tar.gz → 1.1.0__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.
- {python_openevse_http-1.0.2/python_openevse_http.egg-info → python_openevse_http-1.1.0}/PKG-INFO +1 -1
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/utils.py +3 -1
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0/python_openevse_http.egg-info}/PKG-INFO +1 -1
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_client.py +14 -1
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.github/dependabot.yml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.github/release-drafter.yml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.github/workflows/autolabeler.yml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.github/workflows/links.yml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.github/workflows/publish-to-pypi.yml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.github/workflows/release-drafter.yml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.github/workflows/test.yml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.gitignore +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.pre-commit-config.yaml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.yamllint +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/EXTERNAL_SESSION.md +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/LICENSE +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/README.md +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/codecov.yml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/example_external_session.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/__init__.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/__main__.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/client.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/commands.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/const.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/exceptions.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/managers.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/properties.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/py.typed +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/sensors.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/openevsehttp/websocket.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/pyproject.toml +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/python_openevse_http.egg-info/SOURCES.txt +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/python_openevse_http.egg-info/dependency_links.txt +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/python_openevse_http.egg-info/not-zip-safe +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/python_openevse_http.egg-info/requires.txt +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/python_openevse_http.egg-info/top_level.txt +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/requirements.txt +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/requirements_lint.txt +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/requirements_test.txt +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/setup.cfg +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/setup.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/__init__.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/common.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/conftest.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/github_v2.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/github_v4.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v2_json/config.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v2_json/status.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config-broken-semver.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config-broken.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config-dev.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config-extra-version.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config-new.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config-unknown-semver.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/schedule.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/status-broken.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/status-new.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/status.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/websocket.json +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_commands.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_external_session.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_main_edge_cases.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_managers.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_mixins.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_properties.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_sensors.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_shaper.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/test_websocket.py +0 -0
- {python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tox.ini +0 -0
|
@@ -32,7 +32,9 @@ def get_awesome_version(version: str) -> AwesomeVersion:
|
|
|
32
32
|
# We use custom word boundary checks to avoid false positives like 'domain' matching 'main'
|
|
33
33
|
# or 'webmaster' matching 'master'.
|
|
34
34
|
is_dev = False
|
|
35
|
-
if re.search(
|
|
35
|
+
if re.search(r"[^/]+/[^_]+_[a-fA-F0-9]{6,40}_modified$", version, re.IGNORECASE):
|
|
36
|
+
is_dev = True
|
|
37
|
+
elif re.search(
|
|
36
38
|
r"(?:^|[^a-zA-Z0-9])(master|main)(?:[^a-zA-Z0-9]|$)", version, re.IGNORECASE
|
|
37
39
|
):
|
|
38
40
|
is_dev = True
|
|
@@ -671,14 +671,27 @@ async def test_version_check_dev_branches():
|
|
|
671
671
|
charger._config = {"version": "feature_1A2B3C"}
|
|
672
672
|
assert charger._version_check("2.0.0") is True
|
|
673
673
|
|
|
674
|
+
# Local dev build templates (category/branch_hash_modified) - treated as dev, returns True
|
|
675
|
+
charger._config = {
|
|
676
|
+
"version": "local_feature/gui-nightshift-default_2bcdf1d0_modified"
|
|
677
|
+
}
|
|
678
|
+
assert charger._version_check("2.0.0") is True
|
|
679
|
+
|
|
680
|
+
charger._config = {"version": "custom_branch/my-feature_abc123_modified"}
|
|
681
|
+
assert charger._version_check("2.0.0") is True
|
|
682
|
+
|
|
674
683
|
# False positives containing 'main' or 'master' but not at word boundaries,
|
|
675
|
-
#
|
|
684
|
+
# ending in 6-char hashes without dev keywords, or other non-matching modified strings
|
|
685
|
+
# — should fail version check
|
|
676
686
|
charger._config = {"version": "domain_abc123"}
|
|
677
687
|
assert charger._version_check("2.0.0") is False
|
|
678
688
|
|
|
679
689
|
charger._config = {"version": "webmaster_def456"}
|
|
680
690
|
assert charger._version_check("2.0.0") is False
|
|
681
691
|
|
|
692
|
+
charger._config = {"version": "unmodified"}
|
|
693
|
+
assert charger._version_check("2.0.0") is False
|
|
694
|
+
|
|
682
695
|
# Pre-release (rc) version — should fail when checking against a newer target
|
|
683
696
|
charger._config = {"version": "4.1.2_rc1"}
|
|
684
697
|
assert charger._version_check("5.0.0") is False
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.github/workflows/publish-to-pypi.yml
RENAMED
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/.github/workflows/release-drafter.yml
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/python_openevse_http.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/python_openevse_http.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/python_openevse_http.egg-info/requires.txt
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
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v2_json/config.json
RENAMED
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v2_json/status.json
RENAMED
|
File without changes
|
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config-broken.json
RENAMED
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config-dev.json
RENAMED
|
File without changes
|
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config-new.json
RENAMED
|
File without changes
|
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/config.json
RENAMED
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/schedule.json
RENAMED
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/status-broken.json
RENAMED
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/status-new.json
RENAMED
|
File without changes
|
{python_openevse_http-1.0.2 → python_openevse_http-1.1.0}/tests/fixtures/v4_json/status.json
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
|