CLI: reject invalid player seek and volume values before connecting

Ouverte Adaptée aux débutants
#87 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

  • #90 par @bfs2021 — fermée sans fusion

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
75/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
cli

Piste de recherche

Commence dans l'analyse des arguments CLI pour les sous-commandes spotapi player seek et spotapi player volume, puis lis les vérifications de plage existantes dans Player.seek() et Player.volume() afin de reprendre leurs limites. Ajoute de petits validateurs de type argparse qui rejettent les valeurs de seek négatives et les volumes hors de 0-100 avec le statut de sortie 2, en gardant 0 et 100 valides. C'est terminé lorsque les tests hors ligne couvrent le seek négatif, un volume inférieur à zéro, un volume supérieur à 100 et les deux bornes, et le ticket demande de commenter avant de commencer pour éviter les doublons de travail.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug good first issue

Problem

The Python player API correctly rejects negative seek positions and volume values outside 0–100. The CLI currently parses both as unrestricted integers, so obviously invalid input can reach account/session setup before producing an error.

Proposed change

Validate these values during argument parsing:

  • spotapi player seek MILLISECONDS: integer greater than or equal to zero.
  • spotapi player volume PERCENT: integer from zero through 100.

Acceptance criteria

  • Invalid values fail through argparse with a clear range message and exit status 2.
  • Invalid input is rejected before reading account state or opening a Spotify connection.
  • Boundary values 0 and 100 remain valid where applicable.
  • Existing valid commands retain their current behavior.
  • Offline tests cover negative seek, volume below zero, volume above 100, and boundaries.

Scope

Keep validation helpers small and local to the CLI. The existing validation inside Player.seek() and Player.volume() must remain as the library-level safety boundary.

Comment before starting so duplicate work can be avoided.

Langage dominant
Python
Étoiles
493
Forks
40
Merge moyen
5 min
PR mergées (30 j)
1

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Aran404/SpotAPI

Toutes les issues de Aran404/SpotAPI

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.