Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change Zeitraum to Zeitspanne, fix tests, change zeitspanne datetime to date and time #745

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Feel free to open an issue if you run into any kind of problems.
- pytest for unittests
- Sphinx and Plantuml (and kroki web service) for documentation
- Technical Documentation is in English; For example: "Don't use the builtin validator here because …"
- But data model docstrings are in German; For example: "Ist das Ende nicht gesetzt, so ist der Zeitraum als offen zu verstehen."
- But data model docstrings are in German; For example: "Ist das Ende nicht gesetzt, so ist der Zeitspanne als offen zu verstehen."
- Docstrings should not be trivial/useless
- Bad: "Energiemenge ist eine Klasse zur Abbildung von Energiemengen." ❌ (no shit sherlock)
- Good: "Eine Energiemenge ordnet einer :class:`Marktlokation` oder :class:`Messlokation`, die über die `lokations_id` referenziert werden, einen oder mehrere Energieverbräuche zu." ✔
Expand Down
2 changes: 0 additions & 2 deletions src/bo4e/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@
"VerwendungszweckProMarktrolle",
"Zaehlwerk",
"Zaehlzeitregister",
"Zeitraum",
"Zeitreihenwert",
"Zeitspanne",
"Zustaendigkeit",
Expand Down Expand Up @@ -277,7 +276,6 @@
from .com.verwendungszweckpromarktrolle import VerwendungszweckProMarktrolle
from .com.zaehlwerk import Zaehlwerk
from .com.zaehlzeitregister import Zaehlzeitregister
from .com.zeitraum import Zeitraum
from .com.zeitreihenwert import Zeitreihenwert
from .com.zeitspanne import Zeitspanne
from .com.zustaendigkeit import Zustaendigkeit
Expand Down
10 changes: 5 additions & 5 deletions src/bo4e/bo/ausschreibung.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from pydantic import Field

from ..com.ausschreibungslos import Ausschreibungslos
from ..com.zeitraum import Zeitraum
from ..com.zeitspanne import Zeitspanne
from ..enum.ausschreibungsportal import Ausschreibungsportal
from ..enum.ausschreibungsstatus import Ausschreibungsstatus
from ..enum.ausschreibungstyp import Ausschreibungstyp
Expand Down Expand Up @@ -50,15 +50,15 @@ class Ausschreibung(Geschaeftsobjekt):
Mit diesem Objekt können Geschäftspartner übertragen werden.
Sowohl Unternehmen, als auch Privatpersonen können Geschäftspartner sein
"""
abgabefrist: Optional[Zeitraum] = None
abgabefrist: Optional[Zeitspanne] = None
"""
Diese Komponente wird zur Abbildung von Zeiträumen in Form von Dauern oder der Angabe von Start und Ende verwendet.
Es muss daher entweder eine Dauer oder ein Zeitraum in Form von Start und Ende angegeben sein
Es muss daher entweder eine Dauer oder ein Zeitspanne in Form von Start und Ende angegeben sein
"""
bindefrist: Optional[Zeitraum] = None
bindefrist: Optional[Zeitspanne] = None
"""
Diese Komponente wird zur Abbildung von Zeiträumen in Form von Dauern oder der Angabe von Start und Ende verwendet.
Es muss daher entweder eine Dauer oder ein Zeitraum in Form von Start und Ende angegeben sein
Es muss daher entweder eine Dauer oder ein Zeitspanne in Form von Start und Ende angegeben sein
"""
#: Die einzelnen Lose, aus denen sich die Ausschreibung zusammensetzt
lose: Optional[list[Ausschreibungslos]] = None
Expand Down
6 changes: 3 additions & 3 deletions src/bo4e/bo/fremdkosten.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from ..com.betrag import Betrag
from ..com.fremdkostenblock import Fremdkostenblock
from ..com.zeitraum import Zeitraum
from ..com.zeitspanne import Zeitspanne
from ..enum.typ import Typ
from ..utils import postprocess_docstring
from .geschaeftsobjekt import Geschaeftsobjekt
Expand All @@ -33,8 +33,8 @@ class Fremdkosten(Geschaeftsobjekt):
"""

typ: Annotated[Optional[Typ], Field(alias="_typ")] = Typ.FREMDKOSTEN
#: Für diesen Zeitraum wurden die Kosten ermittelt
gueltigkeit: Optional[Zeitraum] = None
#: Für diesen Zeitspanne wurden die Kosten ermittelt
gueltigkeit: Optional[Zeitspanne] = None
#: Die Gesamtsumme über alle Kostenblöcke und -positionen
summe_kosten: Optional[Betrag] = None
#: In Kostenblöcken werden Kostenpositionen zusammengefasst. Beispiele: Netzkosten, Umlagen, Steuern etc
Expand Down
6 changes: 3 additions & 3 deletions src/bo4e/bo/kosten.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from ..com.betrag import Betrag
from ..com.kostenblock import Kostenblock
from ..com.zeitraum import Zeitraum
from ..com.zeitspanne import Zeitspanne
from ..enum.kostenklasse import Kostenklasse
from ..enum.typ import Typ
from ..utils import postprocess_docstring
Expand Down Expand Up @@ -36,8 +36,8 @@ class Kosten(Geschaeftsobjekt):
typ: Annotated[Optional[Typ], Field(alias="_typ")] = Typ.KOSTEN
#: Klasse der Kosten, beispielsweise Fremdkosten
kostenklasse: Optional[Kostenklasse] = None
#: Für diesen Zeitraum wurden die Kosten ermittelt
gueltigkeit: Optional[Zeitraum] = None
#: Für diesen Zeitspanne wurden die Kosten ermittelt
gueltigkeit: Optional[Zeitspanne] = None
#: In Kostenblöcken werden Kostenpositionen zusammengefasst. Beispiele: Netzkosten, Umlagen, Steuern etc
kostenbloecke: Optional[list[Kostenblock]] = None

Expand Down
6 changes: 3 additions & 3 deletions src/bo4e/bo/preisblatt.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from pydantic import Field

from ..com.preisposition import Preisposition
from ..com.zeitraum import Zeitraum
from ..com.zeitspanne import Zeitspanne
from ..enum.preisstatus import Preisstatus
from ..enum.sparte import Sparte
from ..enum.typ import Typ
Expand Down Expand Up @@ -45,8 +45,8 @@ class Preisblatt(Geschaeftsobjekt):
sparte: Optional[Sparte] = None
#: Merkmal, das anzeigt, ob es sich um vorläufige oder endgültige Preise handelt
preisstatus: Optional[Preisstatus] = None
#: Der Zeitraum für den der Preis festgelegt ist
gueltigkeit: Optional[Zeitraum] = None
#: Der Zeitspanne für den der Preis festgelegt ist
gueltigkeit: Optional[Zeitspanne] = None
#: Die einzelnen Positionen, die mit dem Preisblatt abgerechnet werden können. Z.B. Arbeitspreis, Grundpreis etc
preispositionen: Optional[list[Preisposition]] = None
#: Der Netzbetreiber, der die Preise veröffentlicht hat
Expand Down
4 changes: 2 additions & 2 deletions src/bo4e/bo/rechnung.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
from pydantic import Field

from ..com.betrag import Betrag
from ..com.menge import Menge
from ..com.rechnungsposition import Rechnungsposition
from ..com.steuerbetrag import Steuerbetrag
from ..com.zeitraum import Zeitraum
from ..enum.netznutzungrechnungsart import NetznutzungRechnungsart
from ..enum.netznutzungrechnungstyp import NetznutzungRechnungstyp
from ..enum.rechnungsstatus import Rechnungsstatus
Expand Down Expand Up @@ -56,7 +56,7 @@ class Rechnung(Geschaeftsobjekt):
#: Ein kontextbezogender Rechnungstyp, z.B. Netznutzungsrechnung
rechnungstyp: Optional[Rechnungstyp] = None
#: Der Zeitraum der zugrunde liegenden Lieferung zur Rechnung
rechnungsperiode: Optional[Zeitraum] = None
rechnungsperiode: Optional[Menge] = None
#: Der Aussteller der Rechnung, die Rollencodenummer kennt man über den im Geschäftspartner verlinkten Marktteilnehmer
rechnungsersteller: Optional[Geschaeftspartner] = None
#: Der Aussteller der Rechnung, die Rollencodenummer kennt man über den im Geschäftspartner verlinkten Marktteilnehmer
Expand Down
6 changes: 3 additions & 3 deletions src/bo4e/bo/tarifinfo.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

from ..com.energiemix import Energiemix
from ..com.vertragskonditionen import Vertragskonditionen
from ..com.zeitraum import Zeitraum
from ..com.zeitspanne import Zeitspanne
from ..enum.kundentyp import Kundentyp
from ..enum.registeranzahl import Registeranzahl
from ..enum.sparte import Sparte
Expand Down Expand Up @@ -62,8 +62,8 @@ class Tarifinfo(Geschaeftsobjekt):
#: Freitext
bemerkung: Optional[str] = None

#: Angabe, in welchem Zeitraum der Tarif gültig ist
zeitliche_gueltigkeit: Optional[Zeitraum] = None
#: Angabe, in welchem Zeitspanne der Tarif gültig ist
zeitliche_gueltigkeit: Optional[Zeitspanne] = None
#: Der Energiemix, der für diesen Tarif gilt
energiemix: Optional[Energiemix] = None
#: Mindestlaufzeiten und Kündigungsfristen zusammengefasst
Expand Down
6 changes: 3 additions & 3 deletions src/bo4e/com/angebotsteil.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from .betrag import Betrag
from .com import COM
from .menge import Menge
from .zeitraum import Zeitraum
from .zeitspanne import Zeitspanne

# pylint: disable=too-few-public-methods
# pylint: disable=no-name-in-module
Expand Down Expand Up @@ -49,5 +49,5 @@ class Angebotsteil(COM):
gesamtmengeangebotsteil: Optional[Menge] = None
#: Summe der Jahresenergiekosten aller in diesem Angebotsteil enthaltenen Lieferstellen
gesamtkostenangebotsteil: Optional[Betrag] = None
#: Hier kann der Belieferungszeitraum angegeben werden, für den dieser Angebotsteil gilt
lieferzeitraum: Optional[Zeitraum] = None
#: Hier kann der BelieferungsZeitspanne angegeben werden, für den dieser Angebotsteil gilt
lieferzeitraum: Optional[Zeitspanne] = None
4 changes: 2 additions & 2 deletions src/bo4e/com/aufabschlag.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from ..utils import postprocess_docstring
from .com import COM
from .preisstaffel import Preisstaffel
from .zeitraum import Zeitraum
from .zeitspanne import Zeitspanne

# pylint: disable=too-few-public-methods, too-many-instance-attributes

Expand Down Expand Up @@ -48,4 +48,4 @@ class AufAbschlag(COM):
#: Internetseite, auf der die Informationen zum Auf-/Abschlag veröffentlicht sind.
website: Optional[str] = None
#: Internetseite, auf der die Informationen zum Auf-/Abschlag veröffentlicht sind.
gueltigkeitszeitraum: Optional[Zeitraum] = None
gueltigkeitsZeitspanne: Optional[Zeitspanne] = None
6 changes: 3 additions & 3 deletions src/bo4e/com/aufabschlagregional.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from .preisgarantie import Preisgarantie
from .tarifeinschraenkung import Tarifeinschraenkung
from .vertragskonditionen import Vertragskonditionen
from .zeitraum import Zeitraum
from .zeitspanne import Zeitspanne

# pylint: disable=too-few-public-methods, too-many-instance-attributes
# pylint: disable=no-name-in-module
Expand Down Expand Up @@ -61,8 +61,8 @@ class AufAbschlagRegional(COM):
voraussetzungen: Optional[list[str]] = None
#: Durch die Anwendung des Auf/Abschlags kann eine Änderung des Tarifnamens auftreten.
tarifnamensaenderungen: Optional[str] = None
#: Zeitraum, in dem der Abschlag zur Anwendung kommen kann
gueltigkeitszeitraum: Optional[Zeitraum] = None
#: Zeitspanne, in dem der Abschlag zur Anwendung kommen kann
gueltigkeitsZeitspanne: Optional[Zeitspanne] = None
energiemixaenderung: Optional[Energiemix] = None
""" Der Energiemix kann sich durch einen AufAbschlag ändern (z.B. zwei Cent Aufschlag für Ökostrom:
Sollte dies der Fall sein, wird hier die neue Zusammensetzung des Energiemix angegeben."""
Expand Down
8 changes: 4 additions & 4 deletions src/bo4e/com/ausschreibungsdetail.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from .adresse import Adresse
from .com import COM
from .menge import Menge
from .zeitraum import Zeitraum
from .zeitspanne import Zeitspanne

# pylint: disable=too-few-public-methods, too-many-instance-attributes

Expand Down Expand Up @@ -37,8 +37,8 @@ class Ausschreibungsdetail(COM):
netzebene_messung: Optional[str] = None
#: Die Adresse an der die Marktlokation sich befindet
marktlokationsadresse: Optional[Adresse] = None
#: Angefragter Zeitraum für die ausgeschriebene Belieferung
lieferzeitraum: Optional[Zeitraum] = None
#: Angefragter Zeitspanne für die ausgeschriebene Belieferung
lieferzeitraum: Optional[Zeitspanne] = None

#: Bezeichnung des zuständigen Netzbetreibers, z.B. 'Stromnetz Hamburg GmbH'
netzbetreiber: Optional[str] = None
Expand All @@ -59,7 +59,7 @@ class Ausschreibungsdetail(COM):

#: Prognosewert für die Jahresarbeit der ausgeschriebenen Lokation
prognose_jahresarbeit: Optional[Menge] = None
#: Ein Prognosewert für die Arbeit innerhalb des angefragten Lieferzeitraums der ausgeschriebenen Lokation
#: Ein Prognosewert für die Arbeit innerhalb des angefragten lieferzeitraums der ausgeschriebenen Lokation
prognose_arbeit_lieferzeitraum: Optional[Menge] = None
#: Prognosewert für die abgenommene maximale Leistung der ausgeschriebenen Lokation
prognose_leistung: Optional[Menge] = None
Expand Down
12 changes: 6 additions & 6 deletions src/bo4e/com/ausschreibungslos.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from .ausschreibungsdetail import Ausschreibungsdetail
from .com import COM
from .menge import Menge
from .zeitraum import Zeitraum
from .zeitspanne import Zeitspanne


@postprocess_docstring
Expand Down Expand Up @@ -52,8 +52,8 @@ class Ausschreibungslos(COM):
#: Die ausgeschriebenen Lieferstellen
lieferstellen: Optional[list[Ausschreibungsdetail]] = None

#: Zeitraum, für den die in diesem Los enthaltenen Lieferstellen beliefert werden sollen
lieferzeitraum: Optional[Zeitraum] = None
#: Zeitspanne, für den die in diesem Los enthaltenen Lieferstellen beliefert werden sollen
lieferzeitraum: Optional[Zeitspanne] = None

#: Bemerkung des Kunden zum Los
bemerkung: Optional[str] = None
Expand All @@ -64,13 +64,13 @@ class Ausschreibungslos(COM):
#: Maximalmenge Toleranzband (kWh, %)
wunsch_maximalmenge: Optional[Menge] = None

wiederholungsintervall: Optional[Zeitraum] = None
wiederholungsintervall: Optional[Zeitspanne] = None
"""
In welchem Intervall die Angebotsabgabe wiederholt werden darf.
Angabe nur gesetzt für die 2. Phase bei öffentlich-rechtlichen Ausschreibungen
"""

#: Kundenwunsch zur Kündigungsfrist in der Ausschreibung
wunsch_kuendingungsfrist: Optional[Zeitraum] = None
wunsch_kuendingungsfrist: Optional[Zeitspanne] = None
#: Kundenwunsch zum Zahlungsziel in der Ausschreibung
wunsch_zahlungsziel: Optional[Zeitraum] = None
wunsch_zahlungsziel: Optional[Zeitspanne] = None
6 changes: 3 additions & 3 deletions src/bo4e/com/preisgarantie.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from ..enum.preisgarantietyp import Preisgarantietyp
from ..utils import postprocess_docstring
from .com import COM
from .zeitraum import Zeitraum
from .zeitspanne import Zeitspanne

# pylint: disable=too-few-public-methods

Expand All @@ -29,8 +29,8 @@ class Preisgarantie(COM):

#: Festlegung, auf welche Preisbestandteile die Garantie gewährt wird.
preisgarantietyp: Optional[Preisgarantietyp] = None
zeitliche_gueltigkeit: Optional[Zeitraum] = None
""" Zeitraum, bis zu dem die Preisgarantie gilt, z.B. bis zu einem absolutem / fixem Datum
zeitliche_gueltigkeit: Optional[Zeitspanne] = None
""" Zeitspanne, bis zu dem die Preisgarantie gilt, z.B. bis zu einem absolutem / fixem Datum
oder als Laufzeit in Monaten. """

# optionale attributes
Expand Down
6 changes: 3 additions & 3 deletions src/bo4e/com/regionaleraufabschlag.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from .regionalepreisstaffel import RegionalePreisstaffel
from .tarifeinschraenkung import Tarifeinschraenkung
from .vertragskonditionen import Vertragskonditionen
from .zeitraum import Zeitraum
from .zeitspanne import Zeitspanne

# pylint: disable=too-few-public-methods, too-many-instance-attributes
# pylint: disable=no-name-in-module
Expand Down Expand Up @@ -69,8 +69,8 @@ class RegionalerAufAbschlag(COM):
#: Durch die Anwendung des Auf/Abschlags kann eine Änderung des Tarifnamens auftreten
tarifnamensaenderungen: Optional[str] = None

#: Zeitraum, in dem der Abschlag zur Anwendung kommen kann
gueltigkeitszeitraum: Optional[Zeitraum] = None
#: Zeitspanne, in dem der Abschlag zur Anwendung kommen kann
gueltigkeitsZeitspanne: Optional[Zeitspanne] = None
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
gueltigkeitsZeitspanne: Optional[Zeitspanne] = None
gueltigkeitszeitspanne: Optional[Zeitspanne] = None

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I trink the casing is still camelcase which we want to avoid?


energiemixaenderung: Optional[Energiemix] = None
"""
Expand Down
4 changes: 2 additions & 2 deletions src/bo4e/com/verbrauch.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ class Verbrauch(COM):
#: Gibt die Einheit zum jeweiligen Wert an
einheit: Optional[Mengeneinheit] = None

#: Inklusiver Beginn des Zeitraumes, für den der Verbrauch angegeben wird
#: Inklusiver Beginn des Zeitspannees, für den der Verbrauch angegeben wird
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#: Inklusiver Beginn des Zeitspannees, für den der Verbrauch angegeben wird
#: Inklusiver Beginn der Zeitspanne, für den der Verbrauch angegeben wird

startdatum: Optional[pydantic.AwareDatetime] = None
#: Exklusives Ende des Zeitraumes, für den der Verbrauch angegeben wird
#: Exklusives Ende des Zeitspannees, für den der Verbrauch angegeben wird
enddatum: Optional[pydantic.AwareDatetime] = None
#: Messwertstatus includes the plausibility of the value
messwertstatus: Optional[Messwertstatus] = None
13 changes: 7 additions & 6 deletions src/bo4e/com/vertragskonditionen.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@

from ..utils import postprocess_docstring
from .com import COM
from .zeitraum import Zeitraum
from .menge import Menge
from .zeitspanne import Zeitspanne

# pylint: disable=too-few-public-methods

Expand All @@ -31,11 +32,11 @@ class Vertragskonditionen(COM):
beschreibung: Optional[str] = None
#: Anzahl der vereinbarten Abschläge pro Jahr, z.B. 12
anzahl_abschlaege: Optional[Decimal] = None
#: Über diesen Zeitraum läuft der Vertrag
vertragslaufzeit: Optional[Zeitraum] = None
#: Über diesen Zeitspanne läuft der Vertrag
vertragslaufzeit: Optional[Zeitspanne] = None
#: Innerhalb dieser Frist kann der Vertrag gekündigt werden
kuendigungsfrist: Optional[Zeitraum] = None
kuendigungsfrist: Optional[Menge] = None
#: Falls der Vertrag nicht gekündigt wird, verlängert er sich automatisch um die hier angegebene Zeit
vertragsverlaengerung: Optional[Zeitraum] = None
vertragsverlaengerung: Optional[Menge] = None
#: In diesen Zyklen werden Abschläge gestellt. Alternativ kann auch die Anzahl in den Konditionen angeben werden.
abschlagszyklus: Optional[Zeitraum] = None
abschlagszyklus: Optional[Menge] = None
2 changes: 1 addition & 1 deletion src/bo4e/com/zaehlwerk.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class Zaehlwerk(COM):
# Nur Zählwerkstände mit dieser OBIS-Kennzahl werden an diesem Zählwerk registriert.
wandlerfaktor: Optional[
Decimal
] = None # Mit diesem Faktor wird eine Zählerstandsdifferenz multipliziert, um zum eigentlichen Verbrauch im Zeitraum
] = None # Mit diesem Faktor wird eine Zählerstandsdifferenz multipliziert, um zum eigentlichen Verbrauch im Zeitspanne
# zu kommen.
einheit: Optional[Mengeneinheit] = None # Die Einheit der gemessenen Größe, z.B. kWh
ist_schwachlastfaehig: Optional[bool] = None #: Schwachlastfaehigkeit
Expand Down
Loading
Loading