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
Branches
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.
Veuillez vous inscrire ou vous pour commenter