diff options
Diffstat (limited to 'management')
| -rw-r--r-- | management/commands/_private.py | 32 | ||||
| -rw-r--r-- | management/commands/timetables.py | 10 | 
2 files changed, 18 insertions, 24 deletions
| diff --git a/management/commands/_private.py b/management/commands/_private.py index 7b71fc6..8767aa8 100644 --- a/management/commands/_private.py +++ b/management/commands/_private.py @@ -45,27 +45,29 @@ def get_events(soup, weeks, week, timetable):          rooms = None          notes = None -        if weeks[event.rawweeks.text].number != week: -            continue - -        if event.resources.module is not None: -            title = event.resources.module.item.text - -        if event.category is not None: -            type_ = event.category.text +        if weeks[event.rawweeks.text].number == week and event.resources.group is not None and event.starttime is not None and event.endtime is not None: +            date = weeks[event.rawweeks.text].get_day(int(event.day.text)) +            begin = add_time(date, datetime.datetime.strptime(event.starttime.text, "%H:%M")) +            end = add_time(date, datetime.datetime.strptime(event.endtime.text, "%H:%M")) -        if event.resources.group is not None:              groups = [get_from_db_or_create(Group, item.text, timetable) for item in event.resources.group.find_all("item")] -            if event.resources.room is not None: -                rooms = [get_from_db_or_create(Room, item.text) for item in event.resources.room.find_all("item")] -              if event.notes is not None:                  notes = event.notes.text -            date = weeks[event.rawweeks.text].get_day(int(event.day.text)) -            begin = add_time(date, datetime.datetime.strptime(event.starttime.text, "%H:%M")) -            end = add_time(date, datetime.datetime.strptime(event.endtime.text, "%H:%M")) +            if event.resources.module is not None: +                title = event.resources.module.item.text +            elif notes is not None: +                title = notes +                notes = None +            else: +                title = "Aucune information" + +            if event.category is not None: +                type_ = event.category.text + +            if event.resources.room is not None: +                rooms = [get_from_db_or_create(Room, item.text) for item in event.resources.room.find_all("item")]              yield title, type_, groups, rooms, notes, begin, end diff --git a/management/commands/timetables.py b/management/commands/timetables.py index 81e5a7d..99742ae 100644 --- a/management/commands/timetables.py +++ b/management/commands/timetables.py @@ -39,15 +39,7 @@ class Command(BaseCommand):                  weeks = get_weeks(soup)                  for name, type_, groups, rooms, notes, begin, end in get_events(soup, weeks, week, timetable): -                    course = Course.objects.create(timetable=timetable, begin=begin, end=end) - -                    if name is not None: -                        course.name = name -                        course.notes = notes -                    elif notes is not None: -                        course.name = notes -                    else: -                        course.name = "Aucune information" +                    course = Course.objects.create(name=name, notes=notes, timetable=timetable, begin=begin, end=end)                      course.groups.add(*groups)                      if rooms is not None: | 
