diff options
Diffstat (limited to 'management/commands')
| -rw-r--r-- | management/commands/_private.py | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/management/commands/_private.py b/management/commands/_private.py index c31eb34..f7f8435 100644 --- a/management/commands/_private.py +++ b/management/commands/_private.py @@ -21,6 +21,8 @@ from edt.models import Group, Room, Course  from edt.utils import get_week  import datetime +import re +  import requests @@ -122,6 +124,29 @@ def get_events(timetable, year, week, soup, weeks_in_soup):              yield title, type_, groups, rooms, notes, begin, end +def get_update_date(soup): +    # Explication de la regex +    # +    # (\d+)/(\d+)/(\d+)\s+(\d+):(\d+):(\d+) +    # (\d+)                                 au moins un nombre +    #      /                                un slash +    #       (\d+)                           au moins un nombre +    #            /                          un slash +    #             (\d+)                     au moins un nombre +    #                  \s+                  au moins un espace +    #                     (\d+)             au moins un nombre +    #                          :            un deux-points +    #                           (\d+)       au moins un nombre +    #                                :      un deux-points +    #                                 (\d+) au moins un nombre +    datetime_regex = re.compile("(\d+)/(\d+)/(\d+)\s+(\d+):(\d+):(\d+)") +    search = datetime_regex.search(soup.footer.text) +    if search is None: +        return None + +    day, month, year, hour, minute, second = [int(v) for v in search.groups()] +    return datetime.datetime(year, month, day, hour, minute, second) +  def get_weeks(soup):      weeks = {}      for span in soup.find_all("span"): | 
