From eca1dd813eec96e3ec5d9bfb5b71e155677fe529 Mon Sep 17 00:00:00 2001 From: kevin <68426071+hf-krechan@users.noreply.github.com> Date: Mon, 10 Feb 2025 07:44:36 +0100 Subject: [PATCH] extend version pattern (#294) * extend version pattern * Update snapshot --- src/edi_energy_scraper/apidocument.py | 9 ++- unittests/__snapshots__/test_models.ambr | 86 ++++++++++++------------ 2 files changed, 50 insertions(+), 45 deletions(-) diff --git a/src/edi_energy_scraper/apidocument.py b/src/edi_energy_scraper/apidocument.py index a852e54..63f9da5 100644 --- a/src/edi_energy_scraper/apidocument.py +++ b/src/edi_energy_scraper/apidocument.py @@ -18,7 +18,7 @@ _AhbPattern = re.compile(r".*\bAHB\b.*") _FormatPattern = re.compile(r".*\b(?P[A-Z]{6})\b.*") _VersionPattern = re.compile( - r"^.*?\b(?P[GS]?\d+\.\d+[a-z]?)\b.*$" + r"^.*?\b(?P(?:Gas |Strom |[GS])?\d+\.\d+[a-z]?)\b.*$" ) # assumption: version is always before datum _AlternativeKindPattern = re.compile(r"^(?P\D+).*$") _StandPattern = re.compile(r".*Stand:\s*(?P\d{1,2})\.(?P\d{1,2})\.(?P\d{4}).*") @@ -155,7 +155,12 @@ def document_version(self) -> str | None: match = _VersionPattern.match(self.title) if match is None: return None - return match.group("version") + version = match.group("version") + if "Gas" in version: + return version.replace("Gas ", "G") + if "Strom" in version: + return version.replace("Strom ", "S") + return version @property def sparte(self) -> str | None: diff --git a/unittests/__snapshots__/test_models.ambr b/unittests/__snapshots__/test_models.ambr index 7eb9a44..8bdd5fd 100644 --- a/unittests/__snapshots__/test_models.ambr +++ b/unittests/__snapshots__/test_models.ambr @@ -821,10 +821,10 @@ 'MIG_PARTIN_1.0b_20230401_20230930_20230401_ooox_9824.docx', 'MIG_PARTIN_1.0c_20231001_20240402_20231001_oooo_9829.pdf', 'MIG_PARTIN_1.0c_20231001_20240402_20231001_ooox_9830.docx', - 'AHB_UTILMD_1.0a_20231001_20240725_20231001_oooo_10324.pdf', - 'AHB_UTILMD_1.0a_20231212_20240725_20231212_xoxo_10336.pdf', + 'AHB_UTILMD_G1.0a_20231001_20240725_20231001_oooo_10324.pdf', + 'AHB_UTILMD_G1.0a_20231212_20240725_20231212_xoxo_10336.pdf', 'AHB_UTILMD_1.0a_20231212_20240725_20231212_xoxx_10337.docx', - 'AHB_UTILMD_1.0a_20231001_20231211_20230929_xoxo_10328.pdf', + 'AHB_UTILMD_G1.0a_20231001_20231211_20230929_xoxo_10328.pdf', 'AHB_UTILMD_1.0a_20231001_20231211_20230929_xoxx_10333.docx', 'AHB_UTILMD_4.1_20231001_20240402_20231001_oooo_10447.pdf', 'AHB_UTILMD_4.1_20231001_20240402_20231001_ooox_10450.docx', @@ -832,19 +832,19 @@ 'AHB_UTILMD_4.1_20231023_20231211_20231023_xoxx_10451.docx', 'AHB_UTILMD_4.1_20231212_20240402_20231212_xoxo_10449.pdf', 'AHB_UTILMD_4.1_20231212_20240402_20231212_xoxx_10452.docx', - 'AHB_UTILMD_1.1_20231001_20240402_20231001_oooo_10527.pdf', + 'AHB_UTILMD_S1.1_20231001_20240402_20231001_oooo_10527.pdf', 'AHB_UTILMD_1.1_20231001_20240402_20231001_ooox_10532.docx', - 'AHB_UTILMD_1.1_20231023_20231211_20231023_xoxo_10530.pdf', + 'AHB_UTILMD_S1.1_20231023_20231211_20231023_xoxo_10530.pdf', 'AHB_UTILMD_1.1_20231023_20231211_20231023_xoxx_10535.docx', - 'AHB_UTILMD_1.1_20231212_20240402_20231212_xoxo_10531.pdf', + 'AHB_UTILMD_S1.1_20231212_20240402_20231212_xoxo_10531.pdf', 'AHB_UTILMD_1.1_20231212_20240402_20231212_xoxx_10536.docx', - 'AHB_UTILMD_1.2_20240403_20240124_20240403_oooo_10547.pdf', + 'AHB_UTILMD_S1.2_20240403_20240124_20240403_oooo_10547.pdf', 'AHB_UTILMD_1.2_20240403_20240124_20240403_ooox_10549.docx', - 'AHB_UTILMD_1.2_20240403_20240124_20231212_xoxo_10548.pdf', + 'AHB_UTILMD_S1.2_20240403_20240124_20231212_xoxo_10548.pdf', 'AHB_UTILMD_1.2_20240403_20240124_20231212_xoxx_10550.docx', - 'AHB_UTILMD_1.2a_20240403_20240404_20240311_xoxo_10538.pdf', + 'AHB_UTILMD_S1.2a_20240403_20240404_20240311_xoxo_10538.pdf', 'AHB_UTILMD_1.2a_20240403_20240404_20240311_xoxx_10543.docx', - 'AHB_UTILMD_1.2a_20240405_20240711_20240405_xoxo_10539.pdf', + 'AHB_UTILMD_S1.2a_20240405_20240711_20240405_xoxo_10539.pdf', 'AHB_UTILMD_1.2a_20240405_20240711_20240405_xoxx_10544.docx', 'MIG_UTILMD_G1.0a_20231001_20240725_20231001_oooo_10644.pdf', 'MIG_UTILMD_G1.0a_20231001_20240725_20231001_ooox_10646.docx', @@ -854,9 +854,9 @@ 'MIG_UTILMD_G1.0a_20231001_20231211_20230929_xoxx_10647.docx', 'MIG_UTILMD_S2.0_20241023_20241023_20241023_oooo_10267.pdf', 'MIG_UTILMD_S2.0_20241023_20241023_20241023_ooox_10268.docx', - 'AHB_UTILMD_1.2a_20240712_20240922_20240712_xoxo_10540.pdf', + 'AHB_UTILMD_S1.2a_20240712_20240922_20240712_xoxo_10540.pdf', 'AHB_UTILMD_1.2a_20240712_20240922_20240712_xoxx_10545.docx', - 'AHB_UTILMD_2.0_20241023_20241023_20241023_oooo_10551.pdf', + 'AHB_UTILMD_S2.0_20241023_20241023_20241023_oooo_10551.pdf', 'AHB_UTILMD_2.0_20241023_20241023_20241023_ooox_10552.docx', 'MIG_UTILMD_S1.1_20231001_20240402_20231001_oooo_10656.pdf', 'MIG_UTILMD_S1.1_20231001_20240402_20231001_ooox_10658.docx', @@ -916,13 +916,13 @@ 'MIG_UTILMD_S1.0_20241023_20241023_20241023_ooox_10653.docx', 'MIG_UTILMD_S1.1_20231001_20231022_20231001_oxoo_10657.pdf', 'MIG_UTILMD_S1.1_20231001_20231022_20231001_oxox_10659.docx', - 'AHB_UTILMD_1.0_20241023_20241023_20241023_oooo_10334.pdf', + 'AHB_UTILMD_G1.0_20241023_20241023_20241023_oooo_10334.pdf', 'AHB_UTILMD_1.0_20241023_20241023_20241023_ooox_10335.docx', 'AHB_UTILMD_1.0a_20231001_20230928_20230629_xoxx_10332.docx', - 'AHB_UTILMD_1.0a_20231001_20230928_20230629_xoxo_10327.pdf', - 'AHB_UTILMD_1.0_20241023_20241023_20241023_oooo_10525.pdf', - 'AHB_UTILMD_1.1_20231001_20230928_20230629_xoxo_10529.pdf', - 'AHB_UTILMD_1.1_20231001_20231022_20231001_oxoo_10528.pdf', + 'AHB_UTILMD_G1.0a_20231001_20230928_20230629_xoxo_10327.pdf', + 'AHB_UTILMD_S1.0_20241023_20241023_20241023_oooo_10525.pdf', + 'AHB_UTILMD_S1.1_20231001_20230928_20230629_xoxo_10529.pdf', + 'AHB_UTILMD_S1.1_20231001_20231022_20231001_oxoo_10528.pdf', 'AHB_UTILMD_1.1_20231001_20231022_20231001_oxox_10533.docx', 'AHB_UTILMD_2.1e_20221001_20220718_20220706_xoxx_10313.docx', 'AHB_UTILMD_2.1e_20221001_20220912_20220719_xoxx_10314.docx', @@ -939,23 +939,23 @@ 'AHB_UTILMD_2.1e_20221001_20220926_20220913_xoxx_10315.docx', 'AHB_UTILMD_2.1e_20221025_20230930_20221025_xoxo_10311.pdf', 'AHB_UTILMD_2.1e_20221025_20230930_20221025_xoxx_10317.docx', - 'AHB_UTILMD_6.1b_20241023_20241023_20201218_xoxo_10370.pdf', - 'AHB_UTILMD_6.1c_20211001_20220930_20211001_oooo_10372.pdf', - 'AHB_UTILMD_6.1c_20211001_20220930_20210923_xoxo_10374.pdf', - 'AHB_UTILMD_6.1e_20221001_20230930_20221001_oooo_10376.pdf', + 'AHB_UTILMD_G6.1b_20241023_20241023_20201218_xoxo_10370.pdf', + 'AHB_UTILMD_G6.1c_20211001_20220930_20211001_oooo_10372.pdf', + 'AHB_UTILMD_G6.1c_20211001_20220930_20210923_xoxo_10374.pdf', + 'AHB_UTILMD_G6.1e_20221001_20230930_20221001_oooo_10376.pdf', 'AHB_UTILMD_6.1e_20221001_20230930_20221001_ooox_10383.docx', - 'AHB_UTILMD_6.1e_20230330_20230930_20230330_xoxo_10382.pdf', + 'AHB_UTILMD_G6.1e_20230330_20230930_20230330_xoxo_10382.pdf', 'AHB_UTILMD_6.1e_20230330_20230930_20230330_xoxx_10389.docx', - 'AHB_UTILMD_6.1e_20221001_20220705_20220603_xoxo_10377.pdf', + 'AHB_UTILMD_G6.1e_20221001_20220705_20220603_xoxo_10377.pdf', 'AHB_UTILMD_6.1e_20221001_20220705_20220603_xoxx_10384.docx', - 'AHB_UTILMD_6.1e_20221001_20220718_20220706_xoxo_10378.pdf', + 'AHB_UTILMD_G6.1e_20221001_20220718_20220706_xoxo_10378.pdf', 'AHB_UTILMD_6.1e_20221001_20220718_20220706_xoxx_10385.docx', - 'AHB_UTILMD_6.1e_20221001_20221024_20220719_xoxo_10379.pdf', + 'AHB_UTILMD_G6.1e_20221001_20221024_20220719_xoxo_10379.pdf', 'AHB_UTILMD_6.1e_20221001_20221024_20220719_xoxx_10386.docx', - 'AHB_UTILMD_6.1e_20221025_20230126_20221025_xoxo_10380.pdf', + 'AHB_UTILMD_G6.1e_20221025_20230126_20221025_xoxo_10380.pdf', 'AHB_UTILMD_6.1e_20221025_20230126_20221025_xoxx_10387.docx', 'AHB_UTILMD_6.1e_20221001_20230329_20230127_xoxx_10388.docx', - 'AHB_UTILMD_6.1e_20221001_20230329_20230127_xoxo_10381.pdf', + 'AHB_UTILMD_G6.1e_20221001_20230329_20230127_xoxo_10381.pdf', 'AHB_UTILMD_3.1b_20241023_20241023_20201218_xoxo_10421.pdf', 'AHB_UTILMD_3.2_20211001_20220930_20211001_oooo_10439.pdf', 'AHB_UTILMD_3.2_20211001_20220930_20210603_xoxo_10440.pdf', @@ -1139,11 +1139,11 @@ 'AHB_PARTIN_1.0e_20250606_99991231_20250606_ooox_9819.docx', 'MIG_UTILMD_G1.0a_20231212_99991231_20231212_oxox_10264.docx', 'MIG_UTILMD_G1.0a_20231212_99991231_20231212_oxoo_10262.pdf', - 'AHB_UTILMD_1.0a_20231212_99991231_20231212_oxoo_10326.pdf', + 'AHB_UTILMD_G1.0a_20231212_99991231_20231212_oxoo_10326.pdf', 'AHB_UTILMD_1.0a_20231212_99991231_20231212_oxox_10331.docx', 'MIG_UTILMD_S2.1_20250606_99991231_20250606_oooo_10651.pdf', 'MIG_UTILMD_S2.1_20250606_99991231_20250606_ooox_10660.docx', - 'AHB_UTILMD_2.1_20250606_99991231_20250606_oooo_10553.pdf', + 'AHB_UTILMD_S2.1_20250606_99991231_20250606_oooo_10553.pdf', 'AHB_UTILMD_2.1_20250606_99991231_20250606_ooox_10554.docx', 'MIG_UTILTS_1.1e_20250606_99991231_20250606_oooo_10706.pdf', 'MIG_UTILTS_1.1e_20250606_99991231_20250606_ooox_10707.docx', @@ -1237,9 +1237,9 @@ 'AHB_UTILMD_4.1a_20240403_20250605_20240403_ooox_10446.docx', 'AHB_UTILMD_4.1a_20240403_20250605_20240311_xoxo_10444.pdf', 'AHB_UTILMD_4.1a_20240403_20250605_20240311_xoxx_10445.docx', - 'AHB_UTILMD_1.2a_20240403_20250605_20240403_oooo_10537.pdf', + 'AHB_UTILMD_S1.2a_20240403_20250605_20240403_oooo_10537.pdf', 'AHB_UTILMD_1.2a_20240403_20250605_20240403_ooox_10542.docx', - 'AHB_UTILMD_1.2a_20240923_20241017_20240923_xoxo_10541.pdf', + 'AHB_UTILMD_S1.2a_20240923_20241017_20240923_xoxo_10541.pdf', 'AHB_UTILMD_1.2a_20240923_20241017_20240923_xoxx_10546.docx', 'MIG_UTILTS_1.1c_20240403_20250605_20240403_oxoo_10701.pdf', 'MIG_UTILTS_1.1c_20240403_20250605_20240403_oxox_10703.docx', @@ -1253,7 +1253,7 @@ 'XSD_1.1d_20250404_20241203_20241107_xoxo_10782.xsd', 'EBD_4.0b_20250404_20241213_20241106_xoxx_10786.docx', 'EBD_4.0b_20250404_20241213_20241107_xooo_10787.pdf', - 'AHB_UTILMD_1.2a_20241018_20250605_20241018_xoxo_10791.pdf', + 'AHB_UTILMD_S1.2a_20241018_20250605_20241018_xoxo_10791.pdf', 'AHB_UTILMD_1.2a_20241018_20241212_20241018_xoxx_10792.docx', 'MIG_UTILTS_1.1e_20250606_20241212_20241017_xoxo_10798.pdf', 'MIG_UTILTS_1.1e_20250606_20241212_20241018_xoxx_10799.docx', @@ -1304,9 +1304,9 @@ 'AHB_CONTRL_2.3n_20240403_20250605_20240403_oxoo_11000.xml', 'MIG_REQOTE_1.3_20231001_20250605_20231001_oxoo_11001.xml', 'MIG_REQOTE_1.3b_20250606_99991231_20250606_oooo_11002.xml', - 'AHB_UTILMD_1.2a_20241018_20250605_20241018_xoxo_11003.xml', - 'AHB_UTILMD_2.1_20250606_20241212_20250606_oooo_11004.xml', - 'AHB_UTILMD_1.0a_20231212_99991231_20231212_oxoo_11005.xml', + 'AHB_UTILMD_S1.2a_20241018_20250605_20241018_xoxo_11003.xml', + 'AHB_UTILMD_S2.1_20250606_20241212_20250606_oooo_11004.xml', + 'AHB_UTILMD_G1.0a_20231212_99991231_20231212_oxoo_11005.xml', 'MIG_UTILMD_S1.1a_20240712_20250605_20240711_xoxo_11006.xml', 'MIG_UTILMD_S2.1_20250606_20241212_20250606_oooo_11007.xml', 'MIG_UTILMD_G1.0a_20231212_99991231_20231212_oooo_11008.xml', @@ -1342,7 +1342,7 @@ 'AHB_UTILTS_1.0_20250606_99991231_20250606_oooo_11111.pdf', 'AHB_UTILTS_1.0_20250606_99991231_20250606_ooox_11112.docx', 'edienergyanwendungshilfebeispielevonberechnungsformelnfrdassolarpaket_1.1_20240403_99991231_20240403_oooo_11113.pdf', - 'einfhrungsszenariozuas_1.0_20240402_20250401_20240402_oooo_11115.pdf', + 'einfhrungsszenariozuas_G1.0_20240402_20250401_20240402_oooo_11115.pdf', 'codelistederartikelnummernundartikelid_5.5_20240403_99991231_20240403_oxoo_11116.pdf', 'codelistederartikelnummernundartikelid_5.5_20240403_99991231_20240403_oxox_11117.docx', 'activationdocumentfb_1.1d_20250606_99991231_20241203_xoxo_11118.pdf', @@ -1379,10 +1379,10 @@ 'EBD_4.0b_20250606_20250129_20241213_xoxo_11153.pdf', 'EBD_4.0b_20250606_20250131_20241213_xoxx_11154.docx', 'MIG_QUOTES_1.3a_20250606_99991231_20241213_xoxx_11155.docx', - 'AHB_UTILMD_2.1_20250606_20250129_20241213_xoxo_11156.pdf', + 'AHB_UTILMD_S2.1_20250606_20250129_20241213_xoxo_11156.pdf', 'AHB_UTILMD_2.1_20250606_20250129_20241213_xoxx_11157.docx', - 'AHB_UTILMD_2.1_20250606_20250129_20241213_xoxo_11158.xml', - 'AHB_UTILMD_1.2a_20241018_20250605_20251018_xoxx_11159.docx', + 'AHB_UTILMD_S2.1_20250606_20250129_20241213_xoxo_11158.xml', + 'AHB_UTILMD_S1.2a_20241018_20250605_20251018_xoxx_11159.docx', 'MIG_UTILMD_S2.1_20250606_20250129_20241213_xoxo_11160.pdf', 'MIG_UTILMD_S2.1_20250606_20250129_20241213_xoxx_11161.docx', 'MIG_UTILMD_S2.1_20250606_20250129_20241213_xoxo_11162.xml', @@ -1424,14 +1424,14 @@ 'AHB_ORDERS_1.0a_20250606_99991231_20250131_xoxo_11442.xml', 'anwendungsbersichtderprfidentifikatoren_3.1_20250606_99991231_20250131_xoxo_11443.pdf', 'EXCEL_3.1_20250606_99991231_20250131_xoxx_11444.xlsx', - 'AHB_UTILMD_2.1_20250606_20250129_20250606_oxoo_11445.pdf', - 'AHB_UTILMD_2.1_20250606_99991231_20250606_oxox_11446.docx', - 'AHB_UTILMD_2.1_20250606_99991231_20250606_oxoo_11447.xml', + 'AHB_UTILMD_S2.1_20250606_20250129_20250606_oxoo_11445.pdf', + 'AHB_UTILMD_S2.1_20250606_99991231_20250606_oxox_11446.docx', + 'AHB_UTILMD_S2.1_20250606_99991231_20250606_oxoo_11447.xml', 'MIG_UTILMD_S2.1_20250606_20250129_20250131_xoxo_11448.pdf', 'MIG_UTILMD_S2.1_20250606_99991231_20250131_xoxx_11449.docx', 'MIG_UTILMD_S2.1_20250606_99991231_20250131_xoxo_11450.xml', 'AHB_ORDERS_1.0a_20250606_99991231_20250131_xoxo_11451.pdf', - 'AHB_UTILMD_2.1_20250606_99991231_20250606_oxoo_11452.pdf', + 'AHB_UTILMD_S2.1_20250606_99991231_20250606_oxoo_11452.pdf', 'MIG_UTILMD_S2.1_20250606_99991231_20250131_xoxo_11453.pdf', 'AHB_COMDIS_1.0g_20250203_20250228_20250203_oooo_11455.xml', 'MIG_COMDIS_1.0f_20250203_20250228_20250203_oooo_11456.xml',