From 180ce34cfc4829a132c654813205fb0e80e56130 Mon Sep 17 00:00:00 2001
From: Bastien Le Querrec <blq@laquadrature.net>
Date: Fri, 18 Oct 2024 20:45:15 +0200
Subject: [PATCH] =?UTF-8?q?pref34:=20d=C3=A9tecte=20l'URL=20de=20l'ann?=
 =?UTF-8?q?=C3=A9e=20voulue=20automatiquement?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Attrap_pref34.py | 33 +++++++++++++--------------------
 1 file changed, 13 insertions(+), 20 deletions(-)

diff --git a/Attrap_pref34.py b/Attrap_pref34.py
index 484c6d5..6e55e89 100644
--- a/Attrap_pref34.py
+++ b/Attrap_pref34.py
@@ -11,14 +11,7 @@ class Attrap_pref34(Attrap):
 
     # Config
     __HOST = 'https://www.herault.gouv.fr'
-    __RAA_PAGE = {
-        '2024': f'{__HOST}/Publications/Recueils-des-actes-administratifs/Recueil-des-actes-administratifs-2024',
-        '2023': f'{__HOST}/Publications/Recueils-des-actes-administratifs/Recueil-des-actes-administratifs-2023',
-        '2022': f'{__HOST}/Publications/Recueils-des-actes-administratifs/Recueil-des-actes-administratifs-2022',
-        '2021': f'{__HOST}/Publications/Recueils-des-actes-administratifs/Recueil-des-actes-administratifs-2021',
-        '2020': f'{__HOST}/Publications/Recueils-des-actes-administratifs/Recueil-des-actes-administratifs-2020',
-        '2019': f'{__HOST}/Publications/Recueils-des-actes-administratifs/Archives/Recueil-des-actes-administratifs-2019'
-    }
+    __RAA_PAGE = f'{__HOST}/Publications/Recueils-des-actes-administratifs'
     __USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0'
     full_name = 'Préfecture de l\'Hérault'
     short_code = 'pref34'
@@ -29,18 +22,18 @@ class Attrap_pref34(Attrap):
 
     def get_raa(self, keywords):
         pages_to_parse = []
-        if self.not_before.year <= 2024:
-            pages_to_parse.append(self.__RAA_PAGE['2024'])
-        if self.not_before.year <= 2023:
-            pages_to_parse.append(self.__RAA_PAGE['2023'])
-        if self.not_before.year <= 2022:
-            pages_to_parse.append(self.__RAA_PAGE['2022'])
-        if self.not_before.year <= 2021:
-            pages_to_parse.append(self.__RAA_PAGE['2021'])
-        if self.not_before.year <= 2020:
-            pages_to_parse.append(self.__RAA_PAGE['2020'])
-        if self.not_before.year <= 2019:
-            pages_to_parse.append(self.__RAA_PAGE['2019'])
+
+        year_pages = self.get_sub_pages_with_pager(
+            self.__RAA_PAGE,
+            'div.fr-card.fr-card--horizontal.fr-card--sm.fr-enlarge-link.fr-mb-3w div.fr-card__body div.fr-card__content h2.fr-card__title a.fr-card__link',
+            'ul.fr-pagination__list li a.fr-pagination__link.fr-pagination__link--next.fr-pagination__link--lg-label',
+            'div.fr-card.fr-card--horizontal.fr-card--sm.fr-enlarge-link.fr-mb-3w div.fr-card__body div.fr-card__content div.fr-card__end p.fr-card__detail',
+            self.__HOST
+        )
+        for year_page in year_pages:
+            year = Attrap.guess_date(year_page['name'], '.*([0-9]{4})').year
+            if year >= self.not_before.year:
+                pages_to_parse.append(year_page['url'])
 
         elements = []
         for raa_page in pages_to_parse:
-- 
GitLab