Como assert fornece uma maneira fácil de verificar alguma condição e falhar na execução, é muito comum que os desenvolvedores a usem para verificar a validade. Mas quando o interpretador Python é invocado com o sinalizador -O (otimizar), as instruções assert são removidas do bytecode.
Arquivos:
mopidy/audio/utils.py
mopidy/core/actor.py
mopidy/core/playback.py
mopidy/core/tracklist.py
mopidy/ext.py
estão usando declarações assert.
Eu marquei isso como um bom primeiro problema. A solução imediata é mudar de:
assert condition, "Error message"
Para:
if not condition:
raise AssertionError("error message")
Isso faz com que o código se comporte exatamente da mesma maneira que hoje, mas não será otimizado ao executar o Python com -O
.
@jodal , devo resolver isso ou deixar que outros contribuidores
Além disso, se você quer que os calouros resolvam isso, preciso de uma sugestão sua, ou seja, e se dividirmos esse problema em vários outros problemas? Quero dizer quebrar o problema de acordo com os arquivos.
Sinta-se à vontade para resolver isso se estiver interessado!
Se houvesse muitas instâncias do problema, poderia fazer sentido dividi-lo em várias solicitações de pull por área da base de código. No entanto, parece que não há muitos casos, então sugiro apenas fazer um único PR corrigindo todos os casos.
Contagens de assert
por arquivo, excluindo testes:
$ rg -c assert mopidy
mopidy/ext.py:3
mopidy/core/actor.py:1
mopidy/core/tracklist.py:8
mopidy/audio/utils.py:1
mopidy/core/playback.py:1
Ei @pnijhara @jodal , quero trabalhar nessa questão. Você pode, por favor, me atribuir isso, pois sou contribuidor pela primeira vez.
Há informações em https://docs.mopidy.com/en/latest/contributing/ e também em https://docs.mopidy.com/en/latest/devenv/ sobre como configurar um ambiente de desenvolvimento e executar os testes e linter etc.
Comentários muito úteis
Ei @pnijhara @jodal , quero trabalhar nessa questão. Você pode, por favor, me atribuir isso, pois sou contribuidor pela primeira vez.