Projet

Général

Profil

Bug #36819

build passerelle cassé

Ajouté par Paul Marillonnet il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
09 octobre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non


Fichiers


Demandes liées

Lié à Passerelle - Development #37241: Laisser un éventuel TypeError dans self.get_params() percerFermé27 octobre 2019

Actions

Révisions associées

Révision 21e45534 (diff)
Ajouté par Frédéric Péters il y a plus de 4 ans

misc: limit to jsonschema < 3.1 (#36819)

Historique

#1

Mis à jour par Paul Marillonnet il y a plus de 4 ans

#2

Mis à jour par Frédéric Péters il y a plus de 4 ans

Si params est vide là c'est qu'il y a un TypeError levé par self.get_params, ce qui ne devrait pas arriver et cache autre chose.

#3

Mis à jour par Frédéric Péters il y a plus de 4 ans

Et comme sans changements les builds précédents étaient ok, le jeu est de regarder aux dépendances.

#4

Mis à jour par Frédéric Péters il y a plus de 4 ans

Et donc, jsonschema,

  File "/home/fred/src/eo/venv1.11/local/lib/python2.7/site-packages/jsonschema/_validators.py", line 200, in pattern
    not js_regex.compile(patrn).search(instance)
  File "/home/fred/src/eo/venv1.11/local/lib/python2.7/site-packages/js_regex/_impl.py", line 39, in compile
    raise TypeError("pattern={!r} must be a unicode string".format(pattern))
TypeError: pattern='^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}$' must be a unicode string
#5

Mis à jour par Frédéric Péters il y a plus de 4 ans

Et donc,

--- a/setup.py
+++ b/setup.py
@@ -103,7 +103,7 @@ setup(name='passerelle',
             'lxml',
             'python-dateutil',
             'Pillow',
-            'jsonschema',
+            'jsonschema<3.1',
             'zeep < 3.0',
             'pycrypto',
             'unidecode',

+ un ticket pour qu'il faudrait fonctionner avec la dernière version de jsonschema aussi.

+ peut-être un ticket sur jsonschema pour qu'il lève aussi ValidationError sur cette erreur ? ou l'attraper indépendamment, genre ?

--- a/passerelle/views.py
+++ b/passerelle/views.py
@@ -340,6 +340,8 @@ class GenericEndpointView(GenericConnectorMixin, SingleObjectMixin, View):
                     validate(data, json_schema)
                 except ValidationError as e:
                     raise APIError(e.message, http_status=400)
+                except TypeError as e:
+                    raise APIError(e.message, http_status=500)
                 d['post_data'] = data

         return d
#6

Mis à jour par Frédéric Péters il y a plus de 4 ans

J'ai poussé un < 3.1 dans le dépôt histoire de rétablir les builds.

#8

Mis à jour par Frédéric Péters il y a plus de 4 ans

Et il y a depuis eu jsonschema 3.1.1 pour inclure ce revert.

#9

Mis à jour par Paul Marillonnet il y a plus de 4 ans

Ok, sans doute pas de changement nécessaire de notre côté dans ce cas.

#10

Mis à jour par Paul Marillonnet il y a plus de 4 ans

  • Statut changé de Solution proposée à Rejeté
#11

Mis à jour par Thomas Noël il y a plus de 4 ans

  • Statut changé de Rejeté à Résolu (à déployer)
commit 21e455341dfc81224999b65ca311d550f09468c8
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Oct 10 09:08:24 2019 +0200

    misc: limit to jsonschema < 3.1 (#36819)

#12

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#13

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Lié à Development #37241: Laisser un éventuel TypeError dans self.get_params() percer ajouté

Formats disponibles : Atom PDF