danielgtaylor / danielgtaylor/python-betterproto
Import not generated for package/module if only referenced in service declaration.
- Vorherrschende Sprache
- Python
- Sterne
- 1.8k
- Forks
- 234
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
As a basic example I have the below, the generated service will not import the `test` package, however if i reference any message in the return it imports it correctly.
```syntax = "proto3";
package test;
import "test2.proto";
message TestMessage {}
service Test {
rpc test(test2.DemoRequest) returns (TestMessage);
}
```
From a shallow look seems to stem from the `ServiceMethodCompiler.__post_init__` method. The return type is referenced using `py_output_message_type` which calls `get_type_reference` which adds it to imports, however nowhere in the `__post_init__` is the input type referenced for it to be added with `get_type_reference` to imports.
Beitragsleitfaden
Rechercherichtung
Beginne mit der Untersuchung von ServiceMethodCompiler.__post_init__, py_output_message_type und get_type_reference, kompiliere dann das Proto-Beispiel aus dem Issue und untersuche die generierten Service-Imports. Als erledigt gilt die Aufgabe, wenn der generierte Service das Package enthält, das den RPC-Eingabetyp enthält, selbst wenn dieser Typ nur in der Service-Deklaration verwendet wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100