danielgtaylor / danielgtaylor/python-betterproto

message names with mutliple constants don't generate correctly when used in grpc

Ouverte
#147 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.