def _get_field_descriptor(descriptor_type: descriptor.Descriptor, field_name: str): if path.is_extension(field_name): return descriptor_type.file.pool.FindExtensionByName( path.get_raw_extension_name(field_name)) else: return descriptor_type.fields_by_name[field_name]
def _get_field_descriptor(desc, field_name): if path.is_extension(field_name): try: return desc.file.pool.FindExtensionByName( path.get_raw_extension_name(field_name)) except KeyError: return None return desc.fields_by_name.get(field_name)
def _get_field_descriptor( desc: descriptor.Descriptor, field_name: ProtoFieldName) -> Optional[descriptor.FieldDescriptor]: if path.is_extension(field_name): try: return desc.file.pool.FindExtensionByName( path.get_raw_extension_name(field_name)) except KeyError: return None return desc.fields_by_name.get(field_name)
def _get_initial_file_descriptor_set(descriptor_type, field_names): # pylint:disable=g-ambiguous-str-annotation """Gets a set of file descriptors for a descriptor and extensions.""" result = set() result.add(descriptor_type.file) for field_name in field_names: if path.is_extension(field_name): extension_field = descriptor_type.file.pool.FindExtensionByName( path.get_raw_extension_name(field_name)) extension_file = extension_field.file if extension_file not in result: result.add(extension_file) return result
def _get_initial_file_descriptor_set( descriptor_type: descriptor.Descriptor, field_names: Sequence[str]) -> Set[descriptor.FileDescriptor]: """Gets a set of file descriptors for a descriptor and extensions.""" result = set() result.add(descriptor_type.file) for field_name in field_names: if path.is_extension(field_name): extension_field = descriptor_type.file.pool.FindExtensionByName( path.get_raw_extension_name(field_name)) extension_file = extension_field.file if extension_file not in result: result.add(extension_file) return result