Projet

Général

Profil

Tâche #20982

Scénario #20669: Pouvoir transformer un VPS xenial en anglais en Eolebase

L’utilitaire « question_ouinon » ne fonctionne pas en anglais

Ajouté par Daniel Dehennin il y a plus de 6 ans. Mis à jour il y a plus de 6 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
29/06/2017
Echéance:
% réalisé:

100%

Temps estimé:
6.00 h
Temps passé:
Restant à faire (heures):
0.0

Description

Pour reproduire :

  • Démarrer Ubuntu Xenial English no LVM + context (amd64)
  • Appliquer la procédure pour basculer le serveur en EOLE (pensez à ajouter le dépôt candidat en attendant que #20938 passe en stable)
  • Copier le fichier de configuration aca.eolebase
  • Ajuster l’adresse IP CreoleSet adresse_ip_eth0 <IP VUE DANS OPENNEBULA>
  • Exécuter instance

Première question :

Create new administrator user account eole2? [yes/no]
[non] : 
################################################
# Modificating password for user account eole2 #
################################################
New password: 
Confirming new password: 
Create new administrator user account eole3? [yes/no]
[non] : no
################################################
# Modificating password for user account eole3 #
################################################
New password: 
Confirming new password: 
Create new administrator user account eole4? [yes/no]
[non] : non
################################################
# Modificating password for user account eole4 #
################################################
New password: 

Il semble que non ne corresponde pas à yes/no ;-)

L’API de question_ouinon est très étrange :

  • Cette fonction permet de poser une question à l’utilisateur avec seulement deux réponses possibles oui ou non
  • On passe les valeurs par défaut (interactive et non-interactive) en tant que chaîne de caractère
  • La fonction renvoi la chaîne de caractère correspondant au choix de l’utilisateur
  • L’appelant doit vérifier la chaîne retournée par la fonction par rapport à la chaîne de caratère voulue et agir en conséquence

Par example, dans creole:creole/reconfigure.py@c11808e#639 :

            prompt = _('Create new administrator user account {0}?')
            if user != 'eole' and ihm.question_ouinon(prompt.format(user)) == _(u'no'):
                break

Nous pourrions définir une nouvelle fonction :

  • Utilisation des booléens natifs à python True et False
  • Retourne un booléen
    • True l’utilisateur à choisi oui/yes
    • False l’utilisateur à choisi non/false
def prompt_boolean(prompt, interactive=True, default=False, default_interactive=None, level='info'):
    """Prompt the user and return her choice

    :param `str` prompt: prompt string to display to the user
    :param `bool` interactive: I don't know what's for
    :param `bool` default: default value
    :param `bool` default_interactive: default value if interactive is ``True``
    :param `str` level: log level

    """ 
    ...

Cela permettrait de remplacer le code reconfigure par :

            prompt = _('Create new administrator user account {0}?')
            if user != 'eole' and not ihm.prompt_boolean(prompt.format(user)):
                break

L’ancienne fonction serait notée deprecated.

J’ai trouvé 25 appels à question_ouinon (shell et python) dans les dépôts EOLE, aucun dans les dépôts MTES et Envole:

./arv/posttemplate/00-arv:        if question_ouinon(question, level='warn') == 'oui':
./conf-sphynx/scripts/init_sphynx:    if question_ouinon(question, level='warn') == 'non':
./conf-sphynx/scripts/init_sphynx:        if question_ouinon(question, level='warn') == 'non':
./conf-sphynx/scripts/init_sphynx:        if question_ouinon(question, level='warn') == 'oui':
./creole/bin/Maj-Auto:                    assert question_ouinon(_(u"Do you wish to proceed?")) == 'oui'
./creole/creole/reconfigure.py:            if ihm.question_ouinon(_(u"Proceeding with instantiation ?"),
./creole/creole/reconfigure.py:        if ihm.question_ouinon(_(u"Force execution?"),
./creole/creole/reconfigure.py:            if user != 'eole' and ihm.question_ouinon(prompt.format(user)) == _(u'no'):
./creole/creole/reconfigure.py:        if ihm.question_ouinon(_(u"""An update is recommended.
./creole/creole/reconfigure.py:            if ihm.question_ouinon(_(u"""Reboot is necessary.
./creole/upgrade/Upgrade-Auto:        if question_ouinon(confirmation_msg.format(args.release)) != 'oui':
./eole-password/bin/eolepasswd:    res = ihm.question_ouinon(question, interactive=True, default='non')
./eole-vpn/scripts/active_rvp:                rep = question_ouinon("configurer en mode manuel", default='non')
./eole-vpn/scripts/active_rvp:        rep = question_ouinon("Etes-vous certain de vouloir désactiver le VPN ?", default='non')
./eolesql/scripts/mysql_pwd.py:        if question_ouinon('\nVoulez-vous que les autres mots de passe soient modifiés ?') == 'non':
./python-pyeole/pyeole/ihm.py:def question_ouinon(question, interactive=True, default='non',
./python-pyeole/pyeole/ihm.py:        raise ValueError(_(u'question_ouinon : default must be "yes" or "no"'))
./python-pyeole/pyeole/ihm.py:        raise ValueError(_(u'question_ouinon : default must be "yes" or "no"'))
./python-pyeole/pyeole/ihm.py:        raise ValueError(_(u'question_ouinon : level must be "info", "warn" or "err"'))
./scribe-backend/scripts/suppression_utilisateur.py:    sup_rep = question_ouinon("Voulez-vous supprimer les répertoires personnels ?") == 'oui'
./scribe-backend/scripts/suppression_utilisateur.py:    confirm = question_ouinon(msg.format(','.join(liste_users))) == 'oui'
./eole-annuaire/scripts/active_replication.py:    elif question_ouinon("Utiliser le protole ldaps (port 636) pour la réplication", default='oui') == 'oui':
./eole-annuaire/scripts/active_replication.py:if question_ouinon("Répliquer également les groupes", 'non') == 'oui':
./eole-annuaire/scripts/active_replication.py:if question_ouinon("Ajouter des uid à exclure de la réplication", 'non') == 'oui':
./eole-common/sbin/gen_conteneurs:                if ihm.question_ouinon(question) == 'oui':

Demandes liées

Lié à eole-annuaire - Scénario #21936: Réplication LDAP "manuelle" - le script active_replication.py devrait poser plus de questions - 2.6.2beta5 Terminé (Sprint) 13/11/2017 01/12/2017

Révisions associées

Révision 75219121 (diff)
Ajouté par Benjamin Bohard il y a plus de 6 ans

Simplifier l’interprétation des réponses de l’utilisateur.

Ref #20982

Révision b38d299b
Ajouté par Benjamin Bohard il y a plus de 6 ans

Merge branch '2.6.2/20982-question_ouinon'

Révision b906614f (diff)
Ajouté par Benjamin Bohard il y a plus de 6 ans

Rendre internationalisable la fonction de validation des actions (question_ouinon).

Ref #20982

Révision 26f89b3f (diff)
Ajouté par Benjamin Bohard il y a plus de 6 ans

Construire la liste des alternatives en s’assurant de l’ordre des éléments.

Ref #20982

Révision 01cac81d (diff)
Ajouté par Benjamin Bohard il y a plus de 6 ans

Mettre à jour la traduction des invites de commandes.

Ref #20982

Historique

#1 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Description mis à jour (diff)

#2 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Description mis à jour (diff)
  • Temps estimé changé de 2.00 h à 6.00 h
  • Restant à faire (heures) changé de 2.0 à 6.0

#3 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Description mis à jour (diff)

#4 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Sujet changé de L’utilitaire « question_oui_non » ne fonctionne pas en anglais à L’utilitaire « question_ouinon » ne fonctionne pas en anglais

#5 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Tâche parente #20669 supprimé

#6 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Bloque Scénario #20669: Pouvoir transformer un VPS xenial en anglais en Eolebase ajouté

#7 Mis à jour par Scrum Master il y a plus de 6 ans

  • Bloque Scénario #20669: Pouvoir transformer un VPS xenial en anglais en Eolebase supprimé

#8 Mis à jour par Scrum Master il y a plus de 6 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Benjamin Bohard
  • Tâche parente mis à #20669

#9 Mis à jour par Benjamin Bohard il y a plus de 6 ans

  • % réalisé changé de 0 à 80
  • Restant à faire (heures) changé de 6.0 à 2.0

Test en anglais, français sur eolebase et en français sur sphynx (pour le postemplate 00-arv).

Pas de modification du script bash.

#10 Mis à jour par Benjamin Bohard il y a plus de 6 ans

  • Statut changé de En cours à Résolu

#11 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Description mis à jour (diff)
  • Restant à faire (heures) changé de 2.0 à 0.0

#12 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • % réalisé changé de 80 à 100

Cela fonctionne mieux après compilation du paquet creole qui contenait le code nécessaire.

#13 Mis à jour par Scrum Master il y a plus de 6 ans

  • Statut changé de Résolu à Fermé

#14 Mis à jour par Gérald Schwartzmann il y a plus de 6 ans

  • Lié à Scénario #21936: Réplication LDAP "manuelle" - le script active_replication.py devrait poser plus de questions - 2.6.2beta5 ajouté

#15 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Lié à Scénario #21936: Réplication LDAP "manuelle" - le script active_replication.py devrait poser plus de questions - 2.6.2beta5 ajouté

#16 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Lié à Scénario #21936: Réplication LDAP "manuelle" - le script active_replication.py devrait poser plus de questions - 2.6.2beta5 supprimé

Formats disponibles : Atom PDF