From c2cb9f00f95e4016338612ab97b05cc5c0d10392 Mon Sep 17 00:00:00 2001 From: DeltaDaniel Date: Mon, 9 Oct 2023 10:05:04 +0200 Subject: [PATCH] improved for black, isort,... removed unsed validators --- json_schemas/com/Zeitintervall.json | 60 +++++++++++++++++++++++++++++ src/bo4e/com/rechnungsposition.py | 1 - src/bo4e/com/zeitraum.py | 1 - src/bo4e/com/zeitreihenwert.py | 1 - tests/test_lastgang.py | 3 +- tests/test_zeitreihenwert.py | 8 ++-- 6 files changed, 66 insertions(+), 8 deletions(-) create mode 100644 json_schemas/com/Zeitintervall.json diff --git a/json_schemas/com/Zeitintervall.json b/json_schemas/com/Zeitintervall.json new file mode 100644 index 000000000..1d4ac1633 --- /dev/null +++ b/json_schemas/com/Zeitintervall.json @@ -0,0 +1,60 @@ +{ + "$defs": { + "Mengeneinheit": { + "description": "Einheit: Messgrößen, die per Messung oder Vorgabe ermittelt werden können.", + "enum": [ + "W", + "WH", + "KW", + "KWH", + "KVARH", + "MW", + "MWH", + "STUECK", + "KUBIKMETER", + "SEKUNDE", + "MINUTE", + "STUNDE", + "VIERTEL_STUNDE", + "TAG", + "WOCHE", + "MONAT", + "QUARTAL", + "HALBJAHR", + "JAHR", + "PROZENT" + ], + "title": "Mengeneinheit", + "type": "string" + } + }, + "additionalProperties": true, + "description": "Abbildung für ein Zeitintervall. Die Abbildung eines Zeitintervalls.\nZ.B. zur Anwendung als Raster in äquidistanten Zeitreihen/Lastgängen, beispielsweise 15 Minuten.\n\n.. raw:: html\n\n \n\n.. HINT::\n `Zeitintervall JSON Schema `_", + "properties": { + "_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": " Id" + }, + "wert": { + "title": "Wert", + "type": "integer" + }, + "zeiteinheit": { + "$ref": "#/$defs/Mengeneinheit" + } + }, + "required": [ + "wert", + "zeiteinheit" + ], + "title": "Zeitintervall", + "type": "object" +} diff --git a/src/bo4e/com/rechnungsposition.py b/src/bo4e/com/rechnungsposition.py index 9fdcc3c81..c8165d8e4 100644 --- a/src/bo4e/com/rechnungsposition.py +++ b/src/bo4e/com/rechnungsposition.py @@ -13,7 +13,6 @@ from bo4e.com.steuerbetrag import Steuerbetrag from bo4e.enum.bdewartikelnummer import BDEWArtikelnummer from bo4e.enum.mengeneinheit import Mengeneinheit -from bo4e.validators import check_bis_is_later_than_von class Rechnungsposition(COM): diff --git a/src/bo4e/com/zeitraum.py b/src/bo4e/com/zeitraum.py index 97cf7ff63..41c3c0b4e 100644 --- a/src/bo4e/com/zeitraum.py +++ b/src/bo4e/com/zeitraum.py @@ -9,7 +9,6 @@ from bo4e.com.com import COM from bo4e.enum.mengeneinheit import Mengeneinheit -from bo4e.validators import combinations_of_fields # pylint: disable=too-few-public-methods diff --git a/src/bo4e/com/zeitreihenwert.py b/src/bo4e/com/zeitreihenwert.py index 2d4ffa0b3..05b27df2c 100644 --- a/src/bo4e/com/zeitreihenwert.py +++ b/src/bo4e/com/zeitreihenwert.py @@ -2,7 +2,6 @@ Contains Zeitreihenwert class and corresponding marshmallow schema for de-/serialization """ -from datetime import datetime from decimal import Decimal from typing import Optional diff --git a/tests/test_lastgang.py b/tests/test_lastgang.py index 12d7c86f2..85881bea7 100644 --- a/tests/test_lastgang.py +++ b/tests/test_lastgang.py @@ -1,4 +1,5 @@ import pytest +from _decimal import Decimal from pydantic import ValidationError from bo4e.bo.lastgang import Lastgang @@ -41,7 +42,7 @@ class TestLastgang: messlokations_id="DE00056266802AO6G56M11SN51G21M24S", sparte=Sparte.STROM, ), - zeit_intervall_laenge=Menge(wert="1", einheit=Mengeneinheit.VIERTEL_STUNDE), + zeit_intervall_laenge=Menge(wert=Decimal(1.0), einheit=Mengeneinheit.VIERTEL_STUNDE), ), ), ], diff --git a/tests/test_zeitreihenwert.py b/tests/test_zeitreihenwert.py index 9c6bc9ff0..7e81b75f9 100644 --- a/tests/test_zeitreihenwert.py +++ b/tests/test_zeitreihenwert.py @@ -56,12 +56,12 @@ def test_zeitreihenwert_required_and_optional_attributes(self) -> None: zeitreihenwert_deserialized: Zeitreihenwert = Zeitreihenwert.model_validate_json(json_string) assert zeitreihenwert_deserialized == zeitreihenwert - assert isinstance( zeitreihenwert_deserialized.wert, Decimal) - assert isinstance( zeitreihenwert_deserialized.status, Messwertstatus) - assert isinstance( zeitreihenwert_deserialized.statuszusatz, Messwertstatuszusatz) + assert isinstance(zeitreihenwert_deserialized.wert, Decimal) + assert isinstance(zeitreihenwert_deserialized.status, Messwertstatus) + assert isinstance(zeitreihenwert_deserialized.statuszusatz, Messwertstatuszusatz) def test_wrong_datatype(self) -> None: with pytest.raises(ValidationError) as excinfo: _ = Zeitreihenwert(wert="helloooo") # type: ignore[arg-type] - assert "wert" in str(excinfo.value) \ No newline at end of file + assert "wert" in str(excinfo.value)