Commit bbf233ec authored by Marc's avatar Marc
Browse files

Fix 2022-03-02

parent 30e4455b
......@@ -1370,14 +1370,6 @@ _raw_data: Dict[Date, Tuple[LineToAdd, JeuToAdd, LineToDelete]] = {
(3, ("CHANSON", "Tri martolod (Nolwenn Leroy)", "")),
], []
),
(2022, 2, 28): (
[], [
(0, ("CHANSON", "Ob-La-Di, Ob-La-Da (Beatles)", "")),
(1, ("ESPAGNE", "En Espagne, depuis le début de l'année, une nouvelle loi est entrée en vigueur à propos des animaux. Quelle loi ?", "En Espagne, depuis le début de l'année, une loi propose la garde alternée pour les animaux en cas de divorce.")),
(2, ("TINTIN", "Dans les aventures de Tintin et Milou, comment distingue-t-on Dupont et Dupond ?", "On les distingue à leur moustache. Dupont a une moustache qui s'évase alors que Dupond a une moustache droite.")),
(3, ("LANGUE", "Qu'elle est la particularité de la langue du tamanoir ?", "Lorsque le tamanoir s'alimente, le tamanoir sort et rentre sa langue 160 fois par minute.")),
], []
),
(2022, 3, 1): (
[], [
(0, ("ANIMAUX", "Comment appelle-t-on le petit du dromadaire ?", "Le petit du dromadaire est le dromelon.")),
......@@ -1388,10 +1380,10 @@ _raw_data: Dict[Date, Tuple[LineToAdd, JeuToAdd, LineToDelete]] = {
),
(2022, 3, 2): (
[], [
(0, ("", "", "")),
(1, ("", "", "")),
(2, ("", "", "")),
(3, ("", "", "")),
(0, ("LE MOT", "Qu'est ce qu'un pantaléon ?", "Le pantaléon ou pantalon est un instrument de musique inspiré du tympanon inventé par le violoniste Pantaléon Hebenstreit au début du XVIIIe siècle. C'est Louis XIV qui décida, après un concert donné par Hebenstreit à Versailles, de donner à cet instrument le prénom de son inventeur, qui effectuait alors de nombreuses tournées dans toute l'Europe.")),
(1, ("CHANSON", "Juste Quelqu'un De Bien (Enzo enzo)", "")),
(2, ("JAPON", "Au Japon, qu'est ce que le Genmaicha ?", "Au Japon, le Genmaicha est un thé vert mélangé à des grains de riz grillés.")),
(3, ("CONSEIL FÉDÉRAL", "Sur la photo officiel du conseil fédéral de cette année figure une horloge. Quelle est la particularité de cette horloge ?", "Cette horloge est une horloge des CFF, elle indique 18h48 et 22 secondes en référence à 1848, l'année de la nouvelle constitution et la nouvelle année 2022.")),
], []
),
(2022, 3, 3): (
......
......@@ -42,7 +42,7 @@ class AGParser(ARParser):
@classmethod
def is_valid(cls, date: datetime.date) -> bool:
return date in cls._to_insert_by_date or datetime.date(2021, 1, 11) <= date < datetime.date(2021, 3, 1)
return date in cls._to_insert_by_date or datetime.date(2021, 1, 11) <= date < datetime.date(2021, 3, 1)
def _get_jeux_list(self) -> List[str]:
try:
......
import datetime
from typing import Dict, List, Tuple
Date = Tuple[int, int, int]
LineToAdd = List[Tuple[int, str]]
JeuToAdd = List[Tuple[int, Tuple[str, str, str]]]
LineToDelete = List[int]
_raw_data: Dict[Date, Tuple[LineToAdd, JeuToAdd, LineToDelete]] = {
# Be careful here, the order of insertions matters since the index is taken after previous insertions are
# processed.
(2022, 2, 28): (
[], [
(0, ("CHANSON", "Ob-La-Di, Ob-La-Da (Beatles)", "")),
(1, ("ESPAGNE", "En Espagne, depuis le début de l'année, une nouvelle loi est entrée en vigueur à propos des animaux. Quelle loi ?", "En Espagne, depuis le début de l'année, une loi propose la garde alternée pour les animaux en cas de divorce.")),
(2, ("TINTIN", "Dans les aventures de Tintin et Milou, comment distingue-t-on Dupont et Dupond ?", "On les distingue à leur moustache. Dupont a une moustache qui s'évase alors que Dupond a une moustache droite.")),
(3, ("LANGUE", "Qu'elle est la particularité de la langue du tamanoir ?", "Lorsque le tamanoir s'alimente, le tamanoir sort et rentre sa langue 160 fois par minute.")),
], []
),
}
data: Dict[datetime.date, Tuple[List[Tuple[int, str]], List[Tuple[int, Tuple[str, str, str]]], List[int]]] = {
datetime.date(*date): to_add for date, to_add in _raw_data.items()
}
import datetime
from typing import Dict, List, Tuple
import bs4
import packaging.version
from . import JU_data
from .AR_parser import ARParser
class JUParser(ARParser):
"""Parser for 2022-02-28
"""
def __init__(self, html: bs4.BeautifulSoup, date: datetime.date):
super(JUParser, self).__init__(html, date)
@classmethod
def parser_full_name(cls) -> str:
return 'Jura'
@classmethod
def parser_id(cls) -> str:
return 'JU'
@classmethod
def parser_version(cls) -> packaging.version.Version:
return packaging.version.Version('1.0')
_to_insert_by_date: Dict[datetime.date, Tuple[List[Tuple[int, str]], List[Tuple[int, Tuple[str, str, str]]], List[int]]] = JU_data.data
@classmethod
def is_valid(cls, date: datetime.date) -> bool:
return date in cls._to_insert_by_date or datetime.date(2021, 1, 11) <= date < datetime.date(2021, 3, 1)
def date(self) -> datetime.date:
return datetime.datetime.strptime(self._root.find('h4').string, "L'intégrale de l'émission du %d %B %Y").date()
def image_link(self) -> str:
if self._root.img is not None:
return self._root.img['data-src']
return 'https://www.rts.ch/2017/06/12/13/48/8662580.image'
def _get_jeux_list(self) -> List[str]:
try:
jeux: List[str] = super(JUParser, self)._get_jeux_list()
except IndexError:
jeux: List[str] = []
to_insert: List[Tuple[int, str]] = self._to_insert_by_date[self.requested_date][0]
to_delete: List[int] = self._to_insert_by_date[self.requested_date][2]
to_delete.sort(reverse=True)
for i in to_delete:
del jeux[i]
for where_to_insert, what_to_insert in to_insert:
jeux.insert(where_to_insert, what_to_insert)
return jeux
def jeux(self, do_not_enforce_question_exists: bool = True) -> List[Tuple[str, str, str]]:
if self.requested_date not in self._to_insert_by_date:
self._to_insert_by_date[self.requested_date] = ([], [], [])
if self._jeux is None:
super(JUParser, self).jeux(do_not_enforce_question_exists=True)
assert isinstance(self._jeux, list)
to_insert: List[Tuple[int, Tuple[str, str, str]]] = self._to_insert_by_date[self.requested_date][1]
for where_to_insert, what_to_insert in to_insert:
self._jeux.insert(where_to_insert, what_to_insert)
return self._jeux
@classmethod
def is_available(cls, date: datetime.date) -> bool:
return date.weekday() not in (5, 6)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment