Use ruff instead of black+isort (#644)
* Use ruff * Update .gitignore * Format code * Use Ruff on generated code * Update pre-commit hook * Wrong commit * Remove wrong imports * Update hook * Format code * Target Python 3.8 * Reformat * Pin ruff version
This commit is contained in:
@@ -66,8 +66,7 @@ if sys.version_info >= (3, 10):
|
||||
from types import UnionType as _types_UnionType
|
||||
else:
|
||||
|
||||
class _types_UnionType:
|
||||
...
|
||||
class _types_UnionType: ...
|
||||
|
||||
|
||||
# Proto 3 data types
|
||||
|
||||
@@ -1204,9 +1204,9 @@ class EnumDescriptorProto(betterproto.Message):
|
||||
name: str = betterproto.string_field(1)
|
||||
value: List["EnumValueDescriptorProto"] = betterproto.message_field(2)
|
||||
options: "EnumOptions" = betterproto.message_field(3)
|
||||
reserved_range: List[
|
||||
"EnumDescriptorProtoEnumReservedRange"
|
||||
] = betterproto.message_field(4)
|
||||
reserved_range: List["EnumDescriptorProtoEnumReservedRange"] = (
|
||||
betterproto.message_field(4)
|
||||
)
|
||||
"""
|
||||
Range of reserved numeric values. Reserved numeric values may not be used
|
||||
by enum values in the same enum declaration. Reserved ranges may not
|
||||
@@ -1792,9 +1792,9 @@ class FeatureSetDefaults(betterproto.Message):
|
||||
for the closest matching edition, followed by proto merges.
|
||||
"""
|
||||
|
||||
defaults: List[
|
||||
"FeatureSetDefaultsFeatureSetEditionDefault"
|
||||
] = betterproto.message_field(1)
|
||||
defaults: List["FeatureSetDefaultsFeatureSetEditionDefault"] = (
|
||||
betterproto.message_field(1)
|
||||
)
|
||||
minimum_edition: "Edition" = betterproto.enum_field(4)
|
||||
"""
|
||||
The minimum supported edition (inclusive) when this was constructed.
|
||||
|
||||
@@ -53,9 +53,9 @@ class CodeGeneratorRequest(betterproto.Message):
|
||||
parameter: str = betterproto.string_field(2)
|
||||
"""The generator parameter passed on the command-line."""
|
||||
|
||||
proto_file: List[
|
||||
"betterproto_lib_pydantic_google_protobuf.FileDescriptorProto"
|
||||
] = betterproto.message_field(15)
|
||||
proto_file: List["betterproto_lib_pydantic_google_protobuf.FileDescriptorProto"] = (
|
||||
betterproto.message_field(15)
|
||||
)
|
||||
"""
|
||||
FileDescriptorProtos for all files in files_to_generate and everything
|
||||
they import. The files will appear in topological order, so each file
|
||||
@@ -195,9 +195,9 @@ class CodeGeneratorResponseFile(betterproto.Message):
|
||||
content: str = betterproto.string_field(15)
|
||||
"""The file contents."""
|
||||
|
||||
generated_code_info: (
|
||||
"betterproto_lib_pydantic_google_protobuf.GeneratedCodeInfo"
|
||||
) = betterproto.message_field(16)
|
||||
generated_code_info: "betterproto_lib_pydantic_google_protobuf.GeneratedCodeInfo" = betterproto.message_field(
|
||||
16
|
||||
)
|
||||
"""
|
||||
Information describing the file content being inserted. If an insertion
|
||||
point is used, this information will be appropriately offset and inserted
|
||||
|
||||
@@ -1064,9 +1064,9 @@ class EnumDescriptorProto(betterproto.Message):
|
||||
name: str = betterproto.string_field(1)
|
||||
value: List["EnumValueDescriptorProto"] = betterproto.message_field(2)
|
||||
options: "EnumOptions" = betterproto.message_field(3)
|
||||
reserved_range: List[
|
||||
"EnumDescriptorProtoEnumReservedRange"
|
||||
] = betterproto.message_field(4)
|
||||
reserved_range: List["EnumDescriptorProtoEnumReservedRange"] = (
|
||||
betterproto.message_field(4)
|
||||
)
|
||||
"""
|
||||
Range of reserved numeric values. Reserved numeric values may not be used
|
||||
by enum values in the same enum declaration. Reserved ranges may not
|
||||
@@ -1688,9 +1688,9 @@ class FeatureSetDefaults(betterproto.Message):
|
||||
for the closest matching edition, followed by proto merges.
|
||||
"""
|
||||
|
||||
defaults: List[
|
||||
"FeatureSetDefaultsFeatureSetEditionDefault"
|
||||
] = betterproto.message_field(1)
|
||||
defaults: List["FeatureSetDefaultsFeatureSetEditionDefault"] = (
|
||||
betterproto.message_field(1)
|
||||
)
|
||||
minimum_edition: "Edition" = betterproto.enum_field(4)
|
||||
"""
|
||||
The minimum supported edition (inclusive) when this was constructed.
|
||||
|
||||
@@ -46,9 +46,9 @@ class CodeGeneratorRequest(betterproto.Message):
|
||||
parameter: str = betterproto.string_field(2)
|
||||
"""The generator parameter passed on the command-line."""
|
||||
|
||||
proto_file: List[
|
||||
"betterproto_lib_google_protobuf.FileDescriptorProto"
|
||||
] = betterproto.message_field(15)
|
||||
proto_file: List["betterproto_lib_google_protobuf.FileDescriptorProto"] = (
|
||||
betterproto.message_field(15)
|
||||
)
|
||||
"""
|
||||
FileDescriptorProtos for all files in files_to_generate and everything
|
||||
they import. The files will appear in topological order, so each file
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import os.path
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from .module_validation import ModuleValidator
|
||||
@@ -6,8 +7,6 @@ from .module_validation import ModuleValidator
|
||||
|
||||
try:
|
||||
# betterproto[compiler] specific dependencies
|
||||
import black
|
||||
import isort.api
|
||||
import jinja2
|
||||
except ImportError as err:
|
||||
print(
|
||||
@@ -40,20 +39,17 @@ def outputfile_compiler(output_file: OutputTemplate) -> str:
|
||||
|
||||
code = body_template.render(output_file=output_file)
|
||||
code = header_template.render(output_file=output_file) + code
|
||||
code = isort.api.sort_code_string(
|
||||
code=code,
|
||||
show_diff=False,
|
||||
py_version=37,
|
||||
profile="black",
|
||||
combine_as_imports=True,
|
||||
lines_after_imports=2,
|
||||
quiet=True,
|
||||
force_grid_wrap=2,
|
||||
known_third_party=["grpclib", "betterproto"],
|
||||
|
||||
# Sort imports, delete unused ones
|
||||
code = subprocess.check_output(
|
||||
["ruff", "check", "--select", "I,F401", "--fix", "--silent", "-"],
|
||||
input=code,
|
||||
encoding="utf-8",
|
||||
)
|
||||
code = black.format_str(
|
||||
src_contents=code,
|
||||
mode=black.Mode(),
|
||||
|
||||
# Format the code
|
||||
code = subprocess.check_output(
|
||||
["ruff", "format", "-"], input=code, encoding="utf-8"
|
||||
)
|
||||
|
||||
# Validate the generated code.
|
||||
|
||||
Reference in New Issue
Block a user