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
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
Validation de la déclation des dépôts tiers
Ref: #20174
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]
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é ;)