diff options
| author | Alban Gruin | 2019-06-09 18:21:51 +0200 | 
|---|---|---|
| committer | Alban Gruin | 2019-06-09 18:21:51 +0200 | 
| commit | dab185062a58b73c9770a5d474ff3c5cd5ebcebf (patch) | |
| tree | d6671696feeff23f270e8c67765f4e791f7c5e02 /management/parsers | |
| parent | 2386b8d41d88c1408411b378ce5e2a8c09c382e7 (diff) | |
| parent | b9f77648d0fb6897fad180627401c6b9c3e75943 (diff) | |
Merge branch 'ag/parser' into futur
Diffstat (limited to 'management/parsers')
| -rw-r--r-- | management/parsers/ups2018.py | 14 | 
1 files changed, 11 insertions, 3 deletions
diff --git a/management/parsers/ups2018.py b/management/parsers/ups2018.py index f1da5bf..afbfc4b 100644 --- a/management/parsers/ups2018.py +++ b/management/parsers/ups2018.py @@ -1,4 +1,4 @@ -#    Copyright (C) 2018  Alban Gruin +#    Copyright (C) 2018-2019  Alban Gruin  #  #    celcatsanitizer is free software: you can redistribute it and/or modify  #    it under the terms of the GNU Affero General Public License as published @@ -26,7 +26,7 @@ from django.utils import timezone  import lxml.html  import requests -from ...models import Course, Group, Room +from ...models import Course, Group, Module, Room  from ...utils import get_current_week, get_week  from .abstractparser import AbstractParser, ParserError @@ -114,7 +114,8 @@ class Parser(AbstractParser):              return          course = Course.objects.create( -            source=self.source, begin=begin, end=end +            source=self.source, begin=begin, end=end, +            celcat_id=int(event["id"])          )          min_i = 0 @@ -136,6 +137,13 @@ class Parser(AbstractParser):              # par un dictionnaire classique.              names = OrderedDict.fromkeys(data[i - 1].split(';'))              course.name = ", ".join(names.keys()) + +            module_names = [t for t in event["tag"] +                            if len(t) > 0 and +                            any(n.startswith(t) for n in names.keys())] +            if len(module_names) > 0: +                module, _ = Module.objects.get_or_create(name=module_names[0]) +                course.module = module          else:              course.name = "Sans nom"          if i - 2 >= min_i:  | 
