Projet

Général

Profil

Development #24866

Utiliser argparse au lieu de optparse dans les commandes de management

Ajouté par Emmanuel Cazenave il y a presque 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
28 juin 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

optparse déprécié en django 1.8


Fichiers


Demandes liées

Lié à Authentic 2 - Development #24868: Ne plus utiliser de fonctionnalités dépréciées en django 1.8Fermé28 juin 2018

Actions

Révisions associées

Révision a6e24b68 (diff)
Ajouté par Emmanuel Cazenave il y a presque 6 ans

test some management commands (#24866)

Révision 6aaa1912 (diff)
Ajouté par Emmanuel Cazenave il y a presque 6 ans

switch from optparse to argparse for cli (#24866)

Historique

#1

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

Peut-être l'occasion de savoir si certaines sont tombées dans l'oubli ... voici celles que je m'apprête à retravailler :

  • changepassword
  • clean-unused-accounts
  • load-ldif
  • resetpassword
  • sync-metadata
  • oidc-register-issuer
  • provision
#2

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

  • Lié à Development #24868: Ne plus utiliser de fonctionnalités dépréciées en django 1.8 ajouté
#3

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

Et en sujet connexe la commande cleanupauthentic qui demande à hériter de BaseCommand au lieu de NoArgsCommand.

#4

Mis à jour par Frédéric Péters il y a presque 6 ans

Petite hésitation sur src/authentic2_provisionning_ldap/management/commands/provision.py mais c'est encore récent comme code, je dirais que oui, tout.

#5

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

En testant d'abord sommairement les commandes concernées (parce que pas de tests présents), sauf load-ldif et oidc-register-issuer sur lesquelles je sèche un peu.

#6

Mis à jour par Frédéric Péters il y a presque 6 ans

Pour oidc-register-issuer, un exemple d'appel serait :

authentic2-multitenant-manage tenant_command oidc-register-issuer -d connexion.guichet-recette.grandlyon.com --issuer=https://moncompte-rec.grandlyon.com/ --client-id=... --client-secret=... cut-rec
#7

Mis à jour par Benjamin Dauvergne il y a presque 6 ans

Frédéric Péters a écrit :

Pour oidc-register-issuer, un exemple d'appel serait :

[...]

Pour tester il faut mocker un endpoint .well-known/openid-configuration, le plus facile étant de voir ce qu'un authentic sert à cet endroit par exemple https://moncompte-rec.grandlyon.com/.well-known/openid-configuration

#8

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

Avec l'ajout de tests pour load-ldif et oidc-register-issuer.

Dans les deux cas je prends le partis de mocker assez large,
parce que l'objet de ce ticket n'est pas de tester le cœur de ces commandes.

Et le relecteur attentif remarquera que les tests sont étendus dans le deuxième patch :
à cause de l'implémentation de call_command, qui court-circuite le parser si la commande utilise optparse,
et qui ne peut pas donc pas être invoquée sous la forme call_command('commandname', '--option1', 'option1_calue')

En revanche si la commande utilise argparse, call_command appelle bien le parser et peut donc être invoquée sous la forme sus-mentionnée,
d'où l'extension des tests.

#9

Mis à jour par Benjamin Dauvergne il y a presque 6 ans

  • Statut changé de Solution proposée à Solution validée

Ack.

#10

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit a6e24b6855bbe41417a094100f5085dcf56c7d15
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Tue Jul 10 18:44:45 2018 +0200

    test some management commands (#24866)

commit 6aaa1912177fd9cd94783881f3f79fc5d677afea
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Tue Jul 10 18:45:43 2018 +0200

    switch from optparse to argparse for cli (#24866)
#11

Mis à jour par Emmanuel Cazenave il y a presque 6 ans

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

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Statut changé de Solution déployée à Fermé

Formats disponibles : Atom PDF