[Enhancement] Add a Clear method to the Message class for compatibility.
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- backend-api-design
Direção de pesquisa
Comece pela classe abstrata Message e pela lógica existente de parse e valores padrão; compare o comportamento delas com o protobuf padrão, incluindo valores padrão definidos pelo usuário. O trabalho estará concluído quando um método clear redefinir todos os campos para seus valores padrão e der suporte ao trabalho de compatibilidade descrito em #323 e #336.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When converting existing code to use this module over standard protobuf, one issue raised was the lack of ParseFromString. This has already been mentioned at #323, with a PR in the works at #336. However, this is blocked because it does not perform the same calls as the standard, namely, Clear. In my use of this module, i have worked around this issue by simply creating a new instance (which is always the default) instead of using an existing one, at which point just calling parse works fine.
Ideally, we'd need a clear function (preferably lowercase to match python syntax, but might want TitleCase for compatibility) on the abstract Message class and an implementation that resets all fields to their default values. We'd need to confirm that our implementation matches standard protobuf when it comes to user-defined default values.
to be clear, this isn't a bug, and it doesn't prevent the use of this module.
I'd look into addressing this myself but the logic used to set default values eludes me, at least at first glance.
- Linguagem predominante
- Python
- Estrelas
- 1.8k
- Forks
- 235
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
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 danielgtaylor/python-betterproto
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
-
bug investigation needed
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 42/100
-
bug investigation needed
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
-
bug investigation needed
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
danielgtaylor/python-betterproto#676 · 3 comentários ·
Todas as issues de danielgtaylor/python-betterproto
Issues semelhantes
-
good first issue infrastructure
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
kuznia-rdzeni/coreblocks#1135 ·
-
good first issue server
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
documentation priority: high
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
a-lex-s/mealie-telegram-bot#54 ·
Mantenedores costumam responder em até 1 dia
-
type/test
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
SaltedTan/virgil-language-server#218 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
btclib-org/btclib-wallet#541 ·
Mantenedores costumam responder em até 1 dia