Skip to content
Extraits de code Groupes Projets
Valider 9e6eae17 rédigé par Bastien Le Querrec's avatar Bastien Le Querrec
Parcourir les fichiers

pref66: détecte l'URL de l'année voulue automatiquement

parent 0587265a
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -15,14 +15,7 @@ class Attrap_pref66(Attrap):
# Config
__HOST = 'https://www.pyrenees-orientales.gouv.fr'
__RAA_PAGE = {
'2024': f'{__HOST}/Publications/Le-recueil-des-actes-administratifs/Annee-2024',
'2023': f'{__HOST}/Publications/Le-recueil-des-actes-administratifs/Annee-2023',
'2022': f'{__HOST}/Publications/Le-recueil-des-actes-administratifs/Annee-2022',
'2021': f'{__HOST}/Publications/Le-recueil-des-actes-administratifs/Annee-2021',
'2020': f'{__HOST}/Publications/Le-recueil-des-actes-administratifs/Annee-2020',
'2019': f'{__HOST}/Publications/Le-recueil-des-actes-administratifs/Annee-2019'
}
__RAA_PAGE = f'{__HOST}/Publications/Le-recueil-des-actes-administratifs'
__USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0'
full_name = 'Préfecture des Pyrénées-Orientales'
short_code = 'pref66'
......@@ -32,6 +25,19 @@ class Attrap_pref66(Attrap):
self.set_sleep_time(30)
def get_raa(self, keywords):
# On détermine quelles pages d'année parser
year_pages = []
page_content = self.get_page(self.__RAA_PAGE, 'get').content
for year_page in self.get_sub_pages(
page_content,
'.fr-table table tr td h3 a.fr-link',
self.__HOST,
False
):
year = Attrap.guess_date(year_page['name'].strip(), '.* ([0-9]{4})').year
if year < 9999 and year >= self.not_before.year:
year_pages.append([year_page['url'], year])
elements = []
# La préfecture des Pyrénées-Orientales est une originale : avant 2024,
......@@ -43,24 +49,16 @@ class Attrap_pref66(Attrap):
# n'est pas exhaustif. On doit donc parser toutes les sous-pages de
# 2024 puisqu'on ne peut se fier au tableau récapitulatif.
# Grrr.
if self.not_before.year <= 2024:
for element in self.get_raa_elements_since_2024(self.__RAA_PAGE['2024']):
elements.append(element)
if self.not_before.year <= 2023:
for element in self.get_raa_elements_before_2024(self.__RAA_PAGE['2023']):
elements.append(element)
if self.not_before.year <= 2022:
for element in self.get_raa_elements_before_2024(self.__RAA_PAGE['2022']):
elements.append(element)
if self.not_before.year <= 2021:
for element in self.get_raa_elements_before_2024(self.__RAA_PAGE['2021']):
elements.append(element)
if self.not_before.year <= 2020:
for element in self.get_raa_elements_before_2024(self.__RAA_PAGE['2020']):
elements.append(element)
if self.not_before.year <= 2019:
for element in self.get_raa_elements_before_2024(self.__RAA_PAGE['2019']):
elements.append(element)
for year_page in year_pages:
url = year_page[0]
year = year_page[1]
if year >= 2024:
for element in self.get_raa_elements_since_2024(url):
elements.append(element)
else:
for element in self.get_raa_elements_before_2024(url):
elements.append(element)
self.parse_raa(elements, keywords)
self.mailer()
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter