Fix parse_source_type_name #4
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fix danielgtaylor/python-betterproto#562 , danielgtaylor/python-betterproto#437
The function
parse_source_type_nameused to rely on an ad-hoc regex to work. The function failed when the package name had capital letters, since it believed that the package was actually a message.Now, the function goes through the packages and the messages that are actually defined (no more guess) to find the right one.
I also did some small refactoring of
models.py:FieldCompilerused to inherit fromMessageCompiler, which made no sense.The PR still lacks tests and some doc, but since it can take a while to write, I first wanted to have your point of view on this.
NOTE: I completely deleted
test_gen_ref_type.pyfor now, but I plan to replace it once you agree with the content of the PRChecklist