Skip to content

Commit d2ab1a6

Browse files
Remove deprecated label access
Using FieldDescriptor.label is [now deprecated][1], with some new properties to replace these usages. Unfortunately, the [new types aren't in typeshed yet][2], so we have to ignore the types until the properties are released upstream. [1]: protocolbuffers/protobuf@64a76e6 [2]: python/typeshed#14702
1 parent 773b131 commit d2ab1a6

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

protovalidate/internal/rules.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ def _scalar_field_value_to_cel(val: typing.Any, field: descriptor.FieldDescripto
155155

156156

157157
def _field_value_to_cel(val: typing.Any, field: descriptor.FieldDescriptor) -> celtypes.Value:
158-
if field.label == descriptor.FieldDescriptor.LABEL_REPEATED:
158+
if field.is_repeated: # type: ignore
159159
if field.message_type is not None and field.message_type.GetOptions().map_entry:
160160
return _map_field_value_to_cel(val, field)
161161
return _repeated_field_value_to_cel(val, field)
@@ -165,7 +165,7 @@ def _field_value_to_cel(val: typing.Any, field: descriptor.FieldDescriptor) -> c
165165
def _is_empty_field(msg: message.Message, field: descriptor.FieldDescriptor) -> bool:
166166
if field.has_presence:
167167
return not _proto_message_has_field(msg, field)
168-
if field.label == descriptor.FieldDescriptor.LABEL_REPEATED:
168+
if field.is_repeated: # type: ignore
169169
return len(_proto_message_get_field(msg, field)) == 0
170170
return _proto_message_get_field(msg, field) == field.default_value
171171

@@ -194,7 +194,7 @@ def _map_field_to_cel(msg: message.Message, field: descriptor.FieldDescriptor) -
194194

195195

196196
def field_to_cel(msg: message.Message, field: descriptor.FieldDescriptor) -> celtypes.Value:
197-
if field.label == descriptor.FieldDescriptor.LABEL_REPEATED:
197+
if field.is_repeated: # type: ignore
198198
return _repeated_field_to_cel(msg, field)
199199
elif field.message_type is not None and not _proto_message_has_field(msg, field):
200200
return None
@@ -484,19 +484,15 @@ def check_field_type(field: descriptor.FieldDescriptor, expected: int, wrapper_n
484484

485485

486486
def _is_map(field: descriptor.FieldDescriptor):
487-
return (
488-
field.label == descriptor.FieldDescriptor.LABEL_REPEATED
489-
and field.message_type is not None
490-
and field.message_type.GetOptions().map_entry
491-
)
487+
return field.is_repeated and field.message_type is not None and field.message_type.GetOptions().map_entry # type: ignore
492488

493489

494490
def _is_list(field: descriptor.FieldDescriptor):
495-
return field.label == descriptor.FieldDescriptor.LABEL_REPEATED and not _is_map(field)
491+
return field.is_repeated and not _is_map(field) # type: ignore
496492

497493

498494
def _zero_value(field: descriptor.FieldDescriptor):
499-
if field.message_type is not None and field.label != descriptor.FieldDescriptor.LABEL_REPEATED:
495+
if field.message_type is not None and not field.is_repeated: # type: ignore
500496
return _field_value_to_cel(message_factory.GetMessageClass(field.message_type)(), field)
501497
else:
502498
return _field_value_to_cel(field.default_value, field)
@@ -1003,7 +999,7 @@ def _new_field_rule(
1003999
field: descriptor.FieldDescriptor,
10041000
rules: validate_pb2.FieldRules,
10051001
) -> FieldRules:
1006-
if field.label != descriptor.FieldDescriptor.LABEL_REPEATED:
1002+
if not field.is_repeated: # type: ignore
10071003
return self._new_scalar_field_rule(field, rules)
10081004
if field.message_type is not None and field.message_type.GetOptions().map_entry:
10091005
key_rules = None
@@ -1057,7 +1053,7 @@ def _new_rules(self, desc: descriptor.Descriptor) -> list[Rules]:
10571053
if value_field.type != descriptor.FieldDescriptor.TYPE_MESSAGE:
10581054
continue
10591055
result.append(MapValMsgRule(self, field, key_field, value_field))
1060-
elif field.label == descriptor.FieldDescriptor.LABEL_REPEATED:
1056+
elif field.is_repeated:
10611057
result.append(RepeatedMsgRule(self, field))
10621058
else:
10631059
result.append(SubMsgRule(self, field))

0 commit comments

Comments
 (0)