Projet

Général

Profil

Tâche #20174

Scénario #20101: Traitement express MEN (16-18)

La saisie d'une ligne de dépôt tiers invalide ne devrait pas entraîner l'affichage d'une erreur incompréhensible

Ajouté par Joël Cuissinat il y a environ 7 ans. Mis à jour il y a environ 7 ans.

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

100%

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

Description

Si dans "Ligne de déclaration du dépôt" (additional_repository_source), on ne saisit qu'un élément, Maj-Auto plante avec "list index out of range" :

pyeole.pkg - Process template for /etc/apt/sources.list.d/additional.list
Maj-Auto - list index out of range
Traceback (most recent call last):
  File "/usr/bin/Maj-Auto", line 300, in main
    envole_level=envole_level)
  File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 1848, in _configure_sources_mirror
    additional_repository_domain = urlparse.urlparse(additional_repository_source[idx].split(' ')[1]).netloc
IndexError: list index out of range

Voir si on peut vérifier le nombre d'éléments saisis dans la valeur et/ou durcir le code de traitement des URL.

Révisions associées

Révision 812cf68e (diff)
Ajouté par Joël Cuissinat il y a environ 7 ans

Validation de la déclation des dépôts tiers

Ref: #20174

Révision 7ca135c8 (diff)
Ajouté par Laurent Flori il y a environ 7 ans

Spécialisation de la regex pour tester l'url du/des dépoôt additionnels

ref: #20174

Historique

#1 Mis à jour par Joël Cuissinat il y a environ 7 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Joël Cuissinat

#2 Mis à jour par Joël Cuissinat il y a environ 7 ans

  • Statut changé de En cours à Résolu
  • % réalisé changé de 0 à 100
  • Restant à faire (heures) changé de 2.0 à 0.25

Ajout d'une contrainte dans le dictionnaire : la valeur doit désormais débuter par "deb " ou "deb-src ".

Cela permet de contourner le traceback initial puisque le code python suivant ne plante pas : "deb ".split(' ')[1]

Les autres erreurs de saisies, entraînent l'apparition de messages apt déjà plus cohérents (même si en anglais) :
  • Maj-Auto - E:Malformed line 4 in source list /etc/apt/sources.list.d/additional.list (type), E:The list of sources could not be read.
    
  • Maj-Auto - E:Malformed entry 4 in list file /etc/apt/sources.list.d/additional.list (Suite), E:The list of sources could not be read.
    
  • Maj-Auto - E:Malformed entry 4 in list file /etc/apt/sources.list.d/additional.list (URI parse), E:The list of sources could not be read.
    
    

#3 Mis à jour par Laurent Flori il y a environ 7 ans

  • Projet changé de eole-common à Distribution EOLE
  • Restant à faire (heures) changé de 0.25 à 0.0

#4 Mis à jour par Laurent Flori il y a environ 7 ans

En mode normal, la famille Dépôts Tiers apparait et l'on ne peut remplir que le Libellé du dépôt mais pas le reste des informations sans:
- passer en mode expert
ou
- tenter d'enregistrer la configuration qui nous propose les valeurs obligatoires à remplir.
Pourtant la famille Dépôts Tiers est bien déclarée en mode expert:

<family name='dépôt tiers' icon='debian' mode='expert'>

Cela ne se produit pas si l'on a pas de config.eol

#5 Mis à jour par Laurent Flori il y a environ 7 ans

On peut "spécialiser" un peu plus la regex pour éviter de laisser remplir des urls du style:

deb paf

Je propose cette regex là:

^deb (http|https|ftp|ftps)://(.*) \w|^deb-src (http|https|ftp|ftps)://(.*) \w

On peut enlever le dernier \w si on ne veut prendre en compte aucun des éventuels "composants"

#6 Mis à jour par Laurent Flori il y a environ 7 ans

  • Statut changé de Résolu à Fermé

#7 Mis à jour par Joël Cuissinat il y a environ 7 ans

Dernier commit, re-testé ;)

Formats disponibles : Atom PDF