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

prefdpt: la date calculée dans un select peut ne contenir que l'année ou le...

prefdpt: la date calculée dans un select peut ne contenir que l'année ou le mois et l'année seulement
parent 2f340402
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -19,6 +19,7 @@ class Attrap_pref35(Attrap_prefdpt):
Attrap_prefdpt.DptSelectWidget(
'menu_deroulant',
regex=year_regex,
css_path='div.fr-select-group select#Archives-des-RAA-liste-docs.fr-select'
css_path='div.fr-select-group select#Archives-des-RAA-liste-docs.fr-select',
type='year'
)
)
......@@ -21,6 +21,7 @@ class Attrap_pref38(Attrap_prefdpt):
Attrap_prefdpt.DptSelectWidget(
'menu_deroulant',
regex='([0-9]{1,2}[er]{0,1} [a-zéû]* [0-9]{4})',
css_path='select#-liste-docs'
css_path='select#-liste-docs',
type='year-month-day'
)
)
......@@ -18,6 +18,7 @@ class Attrap_pref54(Attrap_prefdpt):
Attrap_prefdpt.DptSelectWidget(
'menu_deroulant',
regex='.* du ([0-9]*(?:er|ER)? [A-Za-zéÉûÛ]* [0-9]*)',
css_path='select#Liste-liste-docs'
css_path='select#Liste-liste-docs',
type='year-month-day'
)
)
......@@ -18,6 +18,7 @@ class Attrap_pref77(Attrap_prefdpt):
Attrap_prefdpt.DptSelectWidget(
'menu_deroulant',
regex='D77-([0-9]{2}-[0-9]{2}-[0-9]{4})',
css_path='select#Liste-liste-docs'
css_path='select#Liste-liste-docs',
type='year-month-day'
)
)
......@@ -90,12 +90,13 @@ class Attrap_prefdpt(Attrap):
class DptSelectWidget:
"""Une classe représentant un menu déroulant sur le site d'une préfecture de département."""
def __init__(self, name, regex=None, css_path=None, follow_link_on_unrecognised_date=True, exclude=[]):
def __init__(self, name, regex=None, css_path=None, follow_link_on_unrecognised_date=True, exclude=[], type='year-month-day'):
self.name = name
self.regex = regex
self.css_path = css_path
self.follow_link_on_unrecognised_date = follow_link_on_unrecognised_date
self.exclude = exclude
self.type = type
def add_url(self, url, date=None):
if date and date.year == 9999:
......@@ -243,10 +244,17 @@ class Attrap_prefdpt(Attrap):
if not option['value'] == "" and option['title'].strip() not in select_widget.exclude:
# On estime la date à partir du nom de fichier
date = Attrap.guess_date(option['title'].strip(), select_widget.regex)
match select_widget.type:
case 'year':
date = date.replace(day=1, month=1)
not_before = self.not_before.replace(day=1, month=1)
case 'year-month':
date = date.replace(day=1)
not_before = self.not_before.replace(day=1)
# Si la date estimée correspond à la plage d'analyse ou si follow_link_on_unrecognised_date est à True,
# on demande au serveur les détails du RAA
if (date.year < 9999 and date >= self.not_before) or (date.year == 9999 and select_widget.follow_link_on_unrecognised_date):
if (date.year < 9999 and date >= not_before) or (date.year == 9999 and select_widget.follow_link_on_unrecognised_date):
page_content = self.get_page(
page_url[0],
'post',
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter