class_docstr: Descriptor for a protocol message type.
  
  Attributes:
      name (str): Name of this protocol message type.
      full_name (str): Fully-qualified name of this protocol message type,
          which will include protocol "package" name and the name of any
          enclosing types.
      containing_type (Descriptor): Reference to the descriptor of the type
          containing us, or None if this is top-level.
      fields (list[FieldDescriptor]): Field descriptors for all fields in
          this type.
      fields_by_number (dict(int, FieldDescriptor)): Same
          :class:`FieldDescriptor` objects as in :attr:`fields`, but indexed
          by "number" attribute in each FieldDescriptor.
      fields_by_name (dict(str, FieldDescriptor)): Same
          :class:`FieldDescriptor` objects as in :attr:`fields`, but indexed by
          "name" attribute in each :class:`FieldDescriptor`.
      nested_types (list[Descriptor]): Descriptor references
          for all protocol message types nested within this one.
      nested_types_by_name (dict(str, Descriptor)): Same Descriptor
          objects as in :attr:`nested_types`, but indexed by "name" attribute
          in each Descriptor.
      enum_types (list[EnumDescriptor]): :class:`EnumDescriptor` references
          for all enums contained within this type.
      enum_types_by_name (dict(str, EnumDescriptor)): Same
          :class:`EnumDescriptor` objects as in :attr:`enum_types`, but
          indexed by "name" attribute in each EnumDescriptor.
      enum_values_by_name (dict(str, EnumValueDescriptor)): Dict mapping
          from enum value name to :class:`EnumValueDescriptor` for that value.
      extensions (list[FieldDescriptor]): All extensions defined directly
          within this message type (NOT within a nested type).
      extensions_by_name (dict(str, FieldDescriptor)): Same FieldDescriptor
          objects as :attr:`extensions`, but indexed by "name" attribute of each
          FieldDescriptor.
      is_extendable (bool):  Does this type define any extension ranges?
      oneofs (list[OneofDescriptor]): The list of descriptors for oneof fields
          in this message.
      oneofs_by_name (dict(str, OneofDescriptor)): Same objects as in
          :attr:`oneofs`, but indexed by "name" attribute.
      file (FileDescriptor): Reference to file descriptor.
class_docstr_tok: ["Descriptor","for","a","protocol","message","type",".","Attributes",":","name","(","str",")",":","Name","of","this","protocol","message","type",".","full_name","(","str",")",":","Fully-qualified","name","of","this","protocol","message","type",",","which","will","include","protocol","``","package","''","name","and","the","name","of","any","enclosing","types",".","containing_type","(","Descriptor",")",":","Reference","to","the","descriptor","of","the","type","containing","us",",","or","None","if","this","is","top-level",".","fields","(","list","[","FieldDescriptor","]",")",":","Field","descriptors","for","all","fields","in","this","type",".","fields_by_number","(","dict","(","int",",","FieldDescriptor",")",")",":","Same",":","class",":","`","FieldDescriptor","`","objects","as","in",":","attr",":","`","fields","`",",","but","indexed","by","``","number","''","attribute","in","each","FieldDescriptor",".","fields_by_name","(","dict","(","str",",","FieldDescriptor",")",")",":","Same",":","class",":","`","FieldDescriptor","`","objects","as","in",":","attr",":","`","fields","`",",","but","indexed","by","``","name","''","attribute","in","each",":","class",":","`","FieldDescriptor","`",".","nested_types","(","list","[","Descriptor","]",")",":","Descriptor","references","for","all","protocol","message","types","nested","within","this","one",".","nested_types_by_name","(","dict","(","str",",","Descriptor",")",")",":","Same","Descriptor","objects","as","in",":","attr",":","`","nested_types","`",",","but","indexed","by","``","name","''","attribute","in","each","Descriptor",".","enum_types","(","list","[","EnumDescriptor","]",")",":",":","class",":","`","EnumDescriptor","`","references","for","all","enums","contained","within","this","type",".","enum_types_by_name","(","dict","(","str",",","EnumDescriptor",")",")",":","Same",":","class",":","`","EnumDescriptor","`","objects","as","in",":","attr",":","`","enum_types","`",",","but","indexed","by","``","name","''","attribute","in","each","EnumDescriptor",".","enum_values_by_name","(","dict","(","str",",","EnumValueDescriptor",")",")",":","Dict","mapping","from","enum","value","name","to",":","class",":","`","EnumValueDescriptor","`","for","that","value",".","extensions","(","list","[","FieldDescriptor","]",")",":","All","extensions","defined","directly","within","this","message","type","(","NOT","within","a","nested","type",")",".","extensions_by_name","(","dict","(","str",",","FieldDescriptor",")",")",":","Same","FieldDescriptor","objects","as",":","attr",":","`","extensions","`",",","but","indexed","by","``","name","''","attribute","of","each","FieldDescriptor",".","is_extendable","(","bool",")",":","Does","this","type","define","any","extension","ranges","?","oneofs","(","list","[","OneofDescriptor","]",")",":","The","list","of","descriptors","for","oneof","fields","in","this","message",".","oneofs_by_name","(","dict","(","str",",","OneofDescriptor",")",")",":","Same","objects","as","in",":","attr",":","`","oneofs","`",",","but","indexed","by","``","name","''","attribute",".","file","(","FileDescriptor",")",":","Reference","to","file","descriptor","."]
docstr: Returns the string name of an enum value.
  
  This is just a small helper method to simplify a common operation.
  
  Args:
    enum: string name of the Enum.
    value: int, value of the enum.
  
  Returns:
    string name of the enum value.
  
  Raises:
    KeyError if either the Enum doesn't exist or the value is not a valid
      value for the enum.
code: def EnumValueName(self, enum, value):
      """Returns the string name of an enum value.
  
      This is just a small helper method to simplify a common operation.
  
      Args:
        enum: string name of the Enum.
        value: int, value of the enum.
  
      Returns:
        string name of the enum value.
  
      Raises:
        KeyError if either the Enum doesn't exist or the value is not a valid
          value for the enum.
      """
      return self.enum_types_by_name[enum].values_by_number[value].name
  
imports: import threading
  import warnings
  import six
  from google.protobuf.internal import api_implementation
label_desc: Use image node_id 3 for calling the Descriptor obj's underlying member method code with example usage: obj.EnumValueName(enum, value) and returns: self