danielgtaylor / danielgtaylor/python-betterproto

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

Abierto
#147 0 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Python
Estrellas
1.8k
Forks
234
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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
)
```

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Reproduce el problema con las dos definiciones de mensajes protobuf y una RPC que usa el mensaje como entrada. Comienza rastreando el método de cliente gRPC asíncrono generado y compara los casos de múltiples constantes y de una sola constante. Se considera terminado cuando ambos casos generan la firma de método esperada y las asignaciones de los campos de la solicitud.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
grpc, python
Área
api, tooling
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.