Tâche #35796
Scénario #35784: EOLE 2.10 : Traquer les warnings python dans le code EOLE
DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
100%
Description
/usr/lib/python3/dist-packages/Cheetah/Template.py:25: DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
import cgi # Used by .webInput() if the template is a CGI script.
python3-cheetah: /usr/lib/python3/dist-packages/Cheetah/Template.py
Hum, cette occurrence là ne vient pas de chez nous mais on en a peut-être dans d'autres projets...
Révisions associées
Internaliser la fonction du module obsolète cgi.
Ref #35796
Internalisation du code obsolète du module cgi.
Ref #35796
Internaliser la fonction du module obsolète cgi.
Ref #35796
Historique
#1 Mis à jour par Joël Cuissinat il y a environ 2 ans
- Description mis à jour (diff)
#2 Mis à jour par Benjamin Bohard il y a presque 2 ans
La solution de remplacement proposée dans la documentation python n’est peut-être pas adaptée au cas de l’entête Accept avec plusieurs valeurs.
L’extraction via email.message.EmailMessage ne semble pas retenir toutes les valeurs.
La fonction werkzeug.http.parse_accept_header est beaucoup plus exploitable :
>>> import werkzeug
>>> import tornado
>>> h = tornado.httputil.HTTPHeaders()
>>> h.parse_line("Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8")
>>> werkzeug.http.parse_accept_header("Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8")
Accept([('Accept: text/html', 1), ('application/xhtml+xml', 1), ('image/webp', 1), ('application/xml', 0.9), ('*/*', 0.8)])
#3 Mis à jour par Benjamin Bohard il y a presque 2 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Benjamin Bohard
#4 Mis à jour par Benjamin Bohard il y a presque 2 ans
Dans le cas d’utilisation dans saltnado, cgi.parse_header est utilisé pour extraire le type mime à fin de comparaison avec des types mime renseignés dans le code.
Le type mime se trouve toujours en premier dans la réponse, séparé éventuellement des options par un point-virgule.
Il semble raisonnable de remplacer la fonction cgi.parse_header par un split sur ce caractère point-virgule étant donné que le reste ne nous intéresse pas. Ceci éviterait de devoir installer d’autres modules dans l’environnement de salt.
La fonction parse_header du module cgi est également assez concise pour être momentanément incorporée dans saltnado.py en guise de résolution temporaire.
#5 Mis à jour par Benjamin Bohard il y a presque 2 ans
- Statut changé de En cours à À valider
#6 Mis à jour par Benjamin Bohard il y a presque 2 ans
- Statut changé de À valider à En cours
#7 Mis à jour par Benjamin Bohard il y a presque 2 ans
Dans python-nevow, cgi.FieldStorage est utilisé. Le cas d’usage est plus complexe que la simple extraction de paramètres.
#8 Mis à jour par Benjamin Bohard il y a presque 2 ans
- Statut changé de En cours à À valider
#9 Mis à jour par Laurent Gourvenec il y a presque 2 ans
- Statut changé de À valider à Résolu
#10 Mis à jour par Joël Cuissinat il y a presque 2 ans
- Statut changé de Résolu à Fermé
- % réalisé changé de 0 à 100
- Restant à faire (heures) mis à 0.0
OK