diff options
| -rw-r--r-- | Documentation/conf.py | 2 | ||||
| -rw-r--r-- | Documentation/usage/versions.rst | 7 | ||||
| -rw-r--r-- | __init__.py | 2 | ||||
| -rw-r--r-- | forms.py | 23 | ||||
| -rw-r--r-- | management/parsers/ups2018.py | 6 | 
5 files changed, 29 insertions, 11 deletions
| diff --git a/Documentation/conf.py b/Documentation/conf.py index 385d7c7..198e67a 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -15,7 +15,7 @@ copyright = u'%d, Alban Gruin' % year  author = u'Alban Gruin'  version = u'0.14' -release = u'0.14.0' +release = u'0.14.1'  language = 'fr' diff --git a/Documentation/usage/versions.rst b/Documentation/usage/versions.rst index 3b45c59..8812b17 100644 --- a/Documentation/usage/versions.rst +++ b/Documentation/usage/versions.rst @@ -81,3 +81,10 @@ Les objectifs originaux de celcatsanitizer consistaient en ceux de la  Ils n’ont pas pu être suivis à cause d’un manque de temps et de tests  et ont étés reportés à la version 0.15. + +Version 0.14.1 +-------------- + - Correction d’un bogue qui faisait planter la recherche de salles si +   l’heure de début est après l’heure de fin. + - Correction d’un bogue lorsqu’un cours ne possède ni nom ni type +   dans le parseur UPS2018, résultant en un échec de mise à jour. diff --git a/__init__.py b/__init__.py index 746391c..d95a5fd 100644 --- a/__init__.py +++ b/__init__.py @@ -13,7 +13,7 @@  #    You should have received a copy of the GNU Affero General Public License  #    along with celcatsanitizer.  If not, see <http://www.gnu.org/licenses/>. -VERSION = "0.14.0" +VERSION = "0.14.1"  __version__ = VERSION  default_app_config = "edt.apps.EdtConfig" @@ -37,10 +37,21 @@ class QSJPSForm(forms.Form):          # On définit les valeurs par défaut de cette manière pour          # éviter les mauvaises surprises.  On retire les secondes des          # heures de début et de fin. -        self.fields["day"].initial = tz_now().strftime("%Y-%m-%d") -        self.fields["begin"].initial = tz_now().strftime("%H:%M") -        self.fields["end"].initial = (tz_now() + timedelta(hours=1)) \ -                          .strftime("%H:%M") +        now = tz_now() + +        self.fields["day"].initial = now.strftime("%Y-%m-%d") +        self.fields["begin"].initial = now.strftime("%H:%M") + +        # Si il est 23h passé, 23h + 1h revient à minuit passé, et ne +        # respecte pas le critère de la recherche (début < fin).  La +        # valeur par défaut de la fin devient automatiquement 23:59. +        if now.hour == 23: +            # Cela ne marche toujours pas à 23h59. +            # TODO trouver une solution plus pérenne. +            self.fields["end"].initial = "23:59" +        else: +            self.fields["end"].initial = (now + timedelta(hours=1)) \ +                              .strftime("%H:%M")      def clean(self):          form_data = self.cleaned_data @@ -53,6 +64,6 @@ class QSJPSForm(forms.Form):             form_data["begin"] >= form_data["end"]:              # Si l’heure de fin est plus petite ou égale, on affiche              # une erreur. -            self._errors["end"].append("L’heure de début doit être supérieure " -                                       "à celle de fin.") +            self.add_error("end", "L’heure de début doit être" +                           "supérieure à celle de fin.")          return form_data diff --git a/management/parsers/ups2018.py b/management/parsers/ups2018.py index 8d97517..15c629a 100644 --- a/management/parsers/ups2018.py +++ b/management/parsers/ups2018.py @@ -94,7 +94,7 @@ class Parser(AbstractParser):          if data[0] == "Global Event":              return -        i = 1 +        i = 0          while i < len(data) and not data[i].startswith(                  ("L1 ", "L2 ", "L3 ", "L3P ", "M1 ", "M2 ", "DEUST ", "MAG1 ",                   "1ERE ANNEE ", "2EME ANNEE ", "3EME ANNEE ", @@ -103,11 +103,11 @@ class Parser(AbstractParser):              i += 1          groups = data[i] -        if i - 1 > 0: +        if i - 1 >= 0:              course.name = ", ".join(set(data[i - 1].split(';')))          else:              course.name = "Sans nom" -        if i - 2 > 0: +        if i - 2 >= 0:              course.type = data[i - 2]          if len(data) >= i + 2:              rooms = data[i + 1] | 
