aboutsummaryrefslogtreecommitdiff
path: root/management
diff options
context:
space:
mode:
authorAlban Gruin2017-09-30 12:20:48 +0200
committerAlban Gruin2017-09-30 12:20:48 +0200
commit45402cbdab2dfdbd9e2f72c70d27f966f932789b (patch)
tree278da749d25c7aef0723a383cb0665f544f95610 /management
parenta796926c1d1e4ea19d1de205678be638fbfe8c06 (diff)
Ajout de commentaires à la fonction get_weeks()
Diffstat (limited to 'management')
-rw-r--r--management/commands/_private.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/management/commands/_private.py b/management/commands/_private.py
index 23083e1..8f195a1 100644
--- a/management/commands/_private.py
+++ b/management/commands/_private.py
@@ -169,8 +169,18 @@ def get_update_date(soup):
return timezone.make_aware(date)
def get_weeks(soup):
+ # Les semaines sont référencées de manière assez… exotique
+ # En gros, il y a une liste d’éléments span qui contiennent une sorte d’ID
+ # de la semaine, formaté de la manière suivante :
+ # NNNNNNNNNNNNNNNNNNNYNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+ # Tous sont de la même longueur, contiennent 51 N et un seul Y.
+ # Allez savoir pourquoi. Il se trouve dans la balise « alleventweeks ».
+ # Un paramètre du span (« date ») représente la date de début.
+ # Un cours contient donc un ID de semaine, puis le nombre de jours après le
+ # début de cette semaine.
weeks = {}
- for span in soup.find_all("span"):
+ for span in soup.find_all("span"): # Liste de toutes les semaines définies
+ # On parse la date et on la fait correspondre à l’ID
weeks[span.alleventweeks.text] = timezone.make_aware(
datetime.datetime.strptime(span["date"], "%d/%m/%Y"))