(field, value)
return enum_value.number
Parse an enum value.

  The value can be specified by a number (the enum value), or by
  a string literal (the enum name).

  Args:
    field: Enum field descriptor.
    value: String value.

  Returns:
    Enum value number.

  Raises:
    ValueError: If the enum value could not be parsed.
Parse an enum value.
Parse an enum value .
def ParseEnum(field, value):
  """Parse an enum value.

  The value can be specified by a number (the enum value), or by
  a string literal (the enum name).

  Args:
    field: Enum field descriptor.
    value: String value.

  Returns:
    Enum value number.

  Raises:
    ValueError: If the enum value could not be parsed.
  """
  enum_descriptor = field.enum_type
  try:
    number = int(value, 0)
  except ValueError:
    # Identifier.
    enum_value = enum_descriptor.values_by_name.get(value, None)
    if enum_value is None:
      raise ValueError('Enum type "%s" has no value named %s.' %
                       (enum_descriptor.full_name, value))
  else:
    # Numeric value.
    enum_value = enum_descriptor.values_by_number.get(number, None)
    if enum_value is None:
      raise ValueError('Enum type "%s" has no value with number %d.' %
                       (enum_descriptor.full_name, number))
  return enum_value.number
def ParseEnum ( field , value ) : enum_descriptor = field . enum_type try : number = int ( value , 0 ) except ValueError : # Identifier. enum_value = enum_descriptor . values_by_name . get ( value , None ) if enum_value is None : raise ValueError ( 'Enum type "%s" has no value named %s.' % ( enum_descriptor . full_name , value ) ) else : # Numeric value. enum_value = enum_descriptor . values_by_number . get ( number , None ) if enum_value is None : raise ValueError ( 'Enum type "%s" has no value with number %d.' % ( enum_descriptor . full_name , number ) ) return enum_value . number