CLI: reject invalid player seek and volume values before connecting
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
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
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
argparsewith a clear range message and exit status 2. - Invalid input is rejected before reading account state or opening a Spotify connection.
- Boundary values
0and100remain 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
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Aran404/SpotAPI
-
CLI: expose public search language with --languageTalvez já em andamento @semajzandrews assumiu hoje. Abertaenhancement good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
documentation enhancement help wanted
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
Todas as issues de Aran404/SpotAPI
Issues semelhantes
-
ライブラリを追加Abertapriority middle
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 62/100
KATO-Hiro/AtCoderClans#13015 ·
Mantenedores costumam responder em até 1 dia
-
StringLiteral to IntegerType/LongType silently truncates fractional strings, changing predicate meaningTalvez já em andamento @Shahzeb-DataEngineer assumiu hoje. Abertakind:bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
apache/iceberg-python#4382 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
request-theme
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 62/100
LizardByte/ThemerrDB#10024 · 2 comentários ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
btclib-org/btclib-node#2505 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
open-webui/open-webui#34462 · 1 comentário ·
Mantenedores costumam responder em até 1 dia