Development #49110
compatibilité djangorestframework 3.4
0%
Description
C'est la version sur les déploiements stretch, on voit l'erreur dans un build hobo, ex: https://jenkins.entrouvert.org/job/hobo/3760/testReport/junit/py3-coverage-authentic.tests_authentic/test_provisionning/test_middleware/
# sanitize keyword arguments for key in initkwargs: if key in cls.http_method_names: raise TypeError("You tried to pass in the %s method name as a " "keyword argument to %s(). Don't do that." % (key, cls.__name__)) if not hasattr(cls, key): raise TypeError("%s() received an invalid keyword %r" % ( > cls.__name__, key)) E TypeError: StatisticsAPI() received an invalid keyword 'name'
Fichiers
Révisions associées
misc: ignore name argument for compatibility with DRF==3.4 (#49110)
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Assigné à mis à Benjamin Dauvergne
Je m'en occupe.
Mis à jour par Nicolas Roche il y a plus de 3 ans
(j'ai l'impression que la même erreur impacte aussi le build de publik-devinst : https://jenkins.entrouvert.org/job/publik-devinst/187/console)
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Fichier 0001-misc-ignore-name-argument-for-compatibility-with-DRF.patch 0001-misc-ignore-name-argument-for-compatibility-with-DRF.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Nicolas Roche il y a plus de 3 ans
En local avec publik-devinst j'ai ça à présent :
15:26 $ authentic-multitenant-manage migrate_schemas Traceback (most recent call last): File "/home/nroche/src/authentic/authentic2-ctl", line 21, in <module> execute_from_command_line(sys.argv[:1] + argv) ... File "/home/nroche/src/authentic/src/authentic2/a2_rbac/signal_handlers.py", line 108, in post_migrate_update_role_admins update_user_admin_roles_permission() File "/home/nroche/src/authentic/src/authentic2/a2_rbac/management.py", line 169, in update_user_admin_roles_permission assert len(perm.roles.all()) == 1 AssertionError
Mis à jour par Emmanuel Cazenave il y a plus de 3 ans
Nicolas Roche a écrit :
En local avec publik-devinst j'ai ça à présent :
Rien à voir, il y a un ticket pour ça quelque part (je ne cherche pas).
Par contre quelqu'un a compris ce qui a fait que c'est ça s'est cassé avec drf ? (moi pas).
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Emmanuel Cazenave a écrit :
Par contre quelqu'un a compris ce qui a fait que c'est ça s'est cassé avec drf ? (moi pas).
Utilisation d'un paramètre qui n'existe qu'avec le décorateur action() voir compat/drf.py mais vu que Valentin avait implémenté cette couche de compat ça m'étonne qu'il n'ait pas vu le problème.
Mis à jour par Nicolas Roche il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
En me basant sur la branche de #48372 puis
$ git pull -r origin master
la migration fonctionne et le serveur se lance.
edit :
ou directement sur master, après avoir lancé :
$ authentic2-multitenant-manage check-and-repair --repair --noinput
Mis à jour par Emmanuel Cazenave il y a plus de 3 ans
C'est le décorateur stat
qui est appelé avec name
, avec ce patch name
est foutu à la poubelle et personne n'en fait rien ?
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Emmanuel Cazenave a écrit :
C'est le décorateur
stat
qui est appelé avecname
, avec ce patchname
est foutu à la poubelle et personne n'en fait rien ?
Oui, lis le code de DRF si ça te passionne, on tourne en 3.9 de toute façon, ne pas avoir de pretty-name en 3.4 n'est pas une grande perte.
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit e231c939a97b6e2f9820fe8c19c9e86d83532bf9 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Dec 4 14:59:16 2020 +0100 misc: ignore name argument for compatibility with DRF==3.4 (#49110)
Mis à jour par Guillaume Gautier il y a plus de 3 ans
Bonjour et merci Benjamin pour le patch, car au Département de Loire-Atlantique nous hébergeons encore Publik sur Stretch (le passage à Buster est en cours).
À noter, si vous décidez de ne plus supporter DRF en version 3.4, il faut peut-être changer la version minimale 3.3 indiquée ici :
https://git.entrouvert.org/authentic.git/tree/setup.py
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: ignore name argument for compatibility with DRF==3.4 (#49110)