danielgtaylor / danielgtaylor/python-betterproto
message names with mutliple constants don't generate correctly when used in grpc
- Langage dominant
- Python
- Étoiles
- 1.8k
- Forks
- 234
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Given a message such as this:
```proto
message IDMessage {
string id = 1;
}
```
When it is used in an rpc as th einput message, this is generated
```python
async def get_revision(self) -> "Revision":
"""GetRevision returns a revision"""
request = IdMessage()
return await self._unary_unary(
"/somerpc.Name/GetRevision", request, Revision
)
```
if changed to:
```proto
message IdMessage {
string id = 1;
}
```
The generated prototype is then fixed:
```python
async def get_revision(self, *, id: str = "") ->"Revision":
"""GetRevision returns a revision"""
request = IdMessage()
request.id = id
return await self._unary_unary(
"/somerpc.Name/GetRevision", request, Revision
)
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Reproduisez le problème avec les deux définitions de messages protobuf et un RPC utilisant le message comme entrée. Commencez par suivre la méthode client gRPC asynchrone générée et comparez les cas à plusieurs constantes et à constante unique. C'est terminé lorsque les deux cas génèrent la signature de méthode attendue et les affectations des champs de la requête.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- grpc, python
- Domaine
- api, tooling
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100