CLI: reject invalid player seek and volume values before connecting

Aberta Para iniciantes
#87 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

  • #90 de @bfs2021 — fechado sem integrar

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
75/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
cli

Direção de pesquisa

Comece na análise de argumentos da CLI dos subcomandos spotapi player seek e spotapi player volume e leia as verificações de intervalo existentes em Player.seek() e Player.volume() para seguir os mesmos limites. Adicione pequenos validadores de tipo do argparse que rejeitem valores negativos de seek e volumes fora de 0-100 com status de saída 2, mantendo 0 e 100 válidos. Está pronto quando os testes offline cobrirem seek negativo, volume abaixo de zero, volume acima de 100 e ambos os limites, e a issue pede que você comente antes de começar para evitar trabalho duplicado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Python
Estrelas
498
Forks
44
Merge médio
5min
PRs com merge (30d)
1

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Aran404/SpotAPI

Todas as issues de Aran404/SpotAPI

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.