Beispiel #1
0
 def __len__(self):
   return (msgbuffers.size(self._version, 'I') +
     msgbuffers.size_string(self._key, 'B') +
     msgbuffers.size(self._activation_mode, 'B') +
     msgbuffers.size_string(self._start_time_utc_iso8601, 'B') +
     msgbuffers.size_string(self._stop_time_utc_iso8601, 'B') +
     msgbuffers.size_string(self._pause_time_utc_iso8601, 'B') +
     msgbuffers.size_string(self._resume_time_utc_iso8601, 'B') +
     msgbuffers.size(self._pop_frac_pct, 'B') +
     msgbuffers.size_string_varray(self._audience_tags, 'B', 'B') +
     msgbuffers.size_object_varray(self._variations, 'B') +
     msgbuffers.size_object_varray(self._forced_variations, 'B'))
Beispiel #2
0
 def __len__(self):
     return (msgbuffers.size(self._rootDepth, 'i') +
             msgbuffers.size(self._rootSize_mm, 'f') +
             msgbuffers.size(self._rootCenterX, 'f') +
             msgbuffers.size(self._rootCenterY, 'f') +
             msgbuffers.size(self._rootCenterZ, 'f') +
             msgbuffers.size_string(self._identifier, 'B'))
 def __len__(self):
     return (msgbuffers.size(self._enrollmentTimeCount, 'q') +
             msgbuffers.size(self._lastDataUpdateTimeCount, 'q') +
             msgbuffers.size_varray(self._albumEntryUpdateTimes, 'q', 'B') +
             msgbuffers.size(self._faceID, 'i') +
             msgbuffers.size_varray(self._albumEntries, 'i', 'B') +
             msgbuffers.size_string(self._name, 'B'))
 def __len__(self):
   return (msgbuffers.size(self._toEnginePort, 'H') +
     msgbuffers.size(self._fromEnginePort, 'H') +
     msgbuffers.size(self._id, 'B') +
     msgbuffers.size(self._enableAdvertisement, 'b') +
     msgbuffers.size(self._oneShot, 'b') +
     msgbuffers.size_string(self._ip, 'B'))
Beispiel #5
0
 def __len__(self):
     return (msgbuffers.size(self._dataType, 'B') +
             msgbuffers.size_string(self._dataValue, 'B'))
Beispiel #6
0
 def __len__(self):
   return (msgbuffers.size(self._faceID, 'i') +
     msgbuffers.size_string(self._name, 'B'))
Beispiel #7
0
 def __len__(self):
   return (msgbuffers.size(self._secondsSinceFirstEnrolled, 'q') +
     msgbuffers.size(self._secondsSinceLastUpdated, 'q') +
     msgbuffers.size(self._secondsSinceLastSeen, 'q') +
     msgbuffers.size(self._faceID, 'i') +
     msgbuffers.size_string(self._name, 'B'))
 def __len__(self):
   return (msgbuffers.size(self._toEnginePort, 'H') +
     msgbuffers.size(self._fromEnginePort, 'H') +
     msgbuffers.size(self._id, 'B') +
     msgbuffers.size_string(self._ip, 'B'))
Beispiel #9
0
 def __len__(self):
   return (msgbuffers.size(self._messagePartIndex, 'B') +
     msgbuffers.size(self._messagePartCount, 'B') +
     msgbuffers.size_string(self._messageType, 'B') +
     msgbuffers.size_string(self._payload, 'H'))
Beispiel #10
0
 def __len__(self):
   return (msgbuffers.size_string(self._key, 'B') +
     msgbuffers.size(self._pop_frac_pct, 'B'))
 def __len__(self):
     return (msgbuffers.size(self._identifier, 'I') +
             msgbuffers.size(self._position, 'I') +
             msgbuffers.size_string(self._labelTitle, 'B'))
Beispiel #12
0
 def __len__(self):
     return (msgbuffers.size_string(self._animationName, 'B'))
Beispiel #13
0
 def __len__(self):
     return (msgbuffers.size(self._xForce, 'f') +
             msgbuffers.size(self._yForce, 'f') +
             msgbuffers.size(self._zForce, 'f') +
             msgbuffers.size_string(self._DefName, 'B'))
Beispiel #14
0
class ConsoleVarUnion(object):
  "Generated message-passing union."

  __slots__ = ('_tag', '_data')

  class Tag(object):
    "The type indicator for this union."
    varDouble   = 0 # float_64
    varUint     = 1 # uint_64
    varInt      = 2 # int_64
    varBool     = 3 # uint_8
    varFunction = 4 # string[uint_8]

  @property
  def tag(self):
    "The current tag for this union."
    return self._tag

  @property
  def tag_name(self):
    "The name of the current tag for this union."
    if self._tag in self._tags_by_value:
      return self._tags_by_value[self._tag]
    else:
      return None

  @property
  def data(self):
    "The data held by this union. None if no data is set."
    return self._data

  @property
  def varDouble(self):
    "float_64 varDouble union property."
    msgbuffers.safety_check_tag('varDouble', self._tag, self.Tag.varDouble, self._tags_by_value)
    return self._data

  @varDouble.setter
  def varDouble(self, value):
    self._data = msgbuffers.validate_float(
      'ConsoleVarUnion.varDouble', value, 'd')
    self._tag = self.Tag.varDouble

  @property
  def varUint(self):
    "uint_64 varUint union property."
    msgbuffers.safety_check_tag('varUint', self._tag, self.Tag.varUint, self._tags_by_value)
    return self._data

  @varUint.setter
  def varUint(self, value):
    self._data = msgbuffers.validate_integer(
      'ConsoleVarUnion.varUint', value, 0, 18446744073709551615)
    self._tag = self.Tag.varUint

  @property
  def varInt(self):
    "int_64 varInt union property."
    msgbuffers.safety_check_tag('varInt', self._tag, self.Tag.varInt, self._tags_by_value)
    return self._data

  @varInt.setter
  def varInt(self, value):
    self._data = msgbuffers.validate_integer(
      'ConsoleVarUnion.varInt', value, -9223372036854775808, 9223372036854775807)
    self._tag = self.Tag.varInt

  @property
  def varBool(self):
    "uint_8 varBool union property."
    msgbuffers.safety_check_tag('varBool', self._tag, self.Tag.varBool, self._tags_by_value)
    return self._data

  @varBool.setter
  def varBool(self, value):
    self._data = msgbuffers.validate_integer(
      'ConsoleVarUnion.varBool', value, 0, 255)
    self._tag = self.Tag.varBool

  @property
  def varFunction(self):
    "string[uint_8] varFunction union property."
    msgbuffers.safety_check_tag('varFunction', self._tag, self.Tag.varFunction, self._tags_by_value)
    return self._data

  @varFunction.setter
  def varFunction(self, value):
    self._data = msgbuffers.validate_string(
      'ConsoleVarUnion.varFunction', value, 255)
    self._tag = self.Tag.varFunction

  def __init__(self, **kwargs):
    if not kwargs:
      self._tag = None
      self._data = None

    elif len(kwargs) == 1:
      key, value = next(iter(kwargs.items()))
      if key not in self._tags_by_name:
        raise TypeError("'{argument}' is an invalid keyword argument for this method.".format(argument=key))
      # calls the correct property
      setattr(self, key, value)

    else:
      raise TypeError('This method only accepts up to one keyword argument.')

  @classmethod
  def unpack(cls, buffer):
    "Reads a new ConsoleVarUnion from the given buffer."
    reader = msgbuffers.BinaryReader(buffer)
    value = cls.unpack_from(reader)
    if reader.tell() != len(reader):
      raise msgbuffers.ReadError(
        ('ConsoleVarUnion.unpack received a buffer of length {length}, ' +
        'but only {position} bytes were read.').format(
        length=len(reader), position=reader.tell()))
    return value

  @classmethod
  def unpack_from(cls, reader):
    "Reads a new ConsoleVarUnion from the given BinaryReader."
    tag = reader.read('B')
    if tag in cls._tags_by_value:
      value = cls()
      setattr(value, cls._tags_by_value[tag], cls._tag_unpack_methods[tag](reader))
      return value
    else:
      raise ValueError('ConsoleVarUnion attempted to unpack unknown tag {tag}.'.format(tag=tag))

  def pack(self):
    "Writes the current ConsoleVarUnion, returning bytes."
    writer = msgbuffers.BinaryWriter()
    self.pack_to(writer)
    return writer.dumps()

  def pack_to(self, writer):
    "Writes the current SampleUnion to the given BinaryWriter."
    if self._tag in self._tags_by_value:
      writer.write(self._tag, 'B')
      self._tag_pack_methods[self._tag](writer, self._data)
    else:
      raise ValueError('Cannot pack an empty ConsoleVarUnion.')

  def clear(self):
    self._tag = None
    self._data = None

  @classmethod
  def typeByTag(cls, tag):
    return cls._type_by_tag_value[tag]()

  def __eq__(self, other):
    if type(self) is type(other):
      return self._tag == other._tag and self._data == other._data
    else:
      return NotImplemented

  def __ne__(self, other):
    if type(self) is type(other):
      return not self.__eq__(other)
    else:
      return NotImplemented

  def __len__(self):
    if 0 <= self._tag < 5:
      return self._tag_size_methods[self._tag](self._data)
    else:
      return 1

  def __str__(self):
    if 0 <= self._tag < 5:
      return '{type}({name}={value})'.format(
        type=type(self).__name__,
        name=self.tag_name,
        value=self._data)
    else:
      return '{type}()'.format(
        type=type(self).__name__)

  def __repr__(self):
    if 0 <= self._tag < 5:
      return '{type}({name}={value})'.format(
        type=type(self).__name__,
        name=self.tag_name,
        value=repr(self._data))
    else:
      return '{type}()'.format(
        type=type(self).__name__)

  _tags_by_name = dict(
    varDouble=0,
    varUint=1,
    varInt=2,
    varBool=3,
    varFunction=4,
  )

  _tags_by_value = dict()
  _tags_by_value[0] = 'varDouble'
  _tags_by_value[1] = 'varUint'
  _tags_by_value[2] = 'varInt'
  _tags_by_value[3] = 'varBool'
  _tags_by_value[4] = 'varFunction'
  

  _tag_unpack_methods = dict()
  _tag_unpack_methods[0] = lambda reader: reader.read('d')
  _tag_unpack_methods[1] = lambda reader: reader.read('Q')
  _tag_unpack_methods[2] = lambda reader: reader.read('q')
  _tag_unpack_methods[3] = lambda reader: reader.read('B')
  _tag_unpack_methods[4] = lambda reader: reader.read_string('B')
  

  _tag_pack_methods = dict()
  _tag_pack_methods[0] = lambda writer, value: writer.write(value, 'd')
  _tag_pack_methods[1] = lambda writer, value: writer.write(value, 'Q')
  _tag_pack_methods[2] = lambda writer, value: writer.write(value, 'q')
  _tag_pack_methods[3] = lambda writer, value: writer.write(value, 'B')
  _tag_pack_methods[4] = lambda writer, value: writer.write_string(value, 'B')
  

  _tag_size_methods = dict()
  _tag_size_methods[0] = lambda value: msgbuffers.size(value, 'd')
  _tag_size_methods[1] = lambda value: msgbuffers.size(value, 'Q')
  _tag_size_methods[2] = lambda value: msgbuffers.size(value, 'q')
  _tag_size_methods[3] = lambda value: msgbuffers.size(value, 'B')
  _tag_size_methods[4] = lambda value: msgbuffers.size_string(value, 'B')
  

  _type_by_tag_value = dict()
  _type_by_tag_value[0] = lambda : float
  _type_by_tag_value[1] = lambda : int
  _type_by_tag_value[2] = lambda : int
  _type_by_tag_value[3] = lambda : int
  _type_by_tag_value[4] = lambda : bytes
Beispiel #15
0
 def __len__(self):
     return (msgbuffers.size(self._rewardType, 'i') +
             msgbuffers.size_string(self._data, 'B'))
Beispiel #16
0
 def __len__(self):
   return (msgbuffers.size(self._status, 'B') +
     msgbuffers.size_string(self._variation_key, 'B'))
Beispiel #17
0
 def __len__(self):
   return (msgbuffers.size_string(self._experiment_key, 'B') +
     msgbuffers.size_string(self._user_id, 'B'))
Beispiel #18
0
 def __len__(self):
   return (msgbuffers.size_string(self._user_id, 'B') +
     msgbuffers.size_string(self._variation_key, 'B'))
Beispiel #19
0
 def __len__(self):
     return (msgbuffers.size_string(self._name, 'B') +
             msgbuffers.size(self._enabled, 'b'))
Beispiel #20
0
 def __len__(self):
   return (msgbuffers.size_string(self._project_id, 'B') +
     msgbuffers.size(self._version, 'I') +
     msgbuffers.size(self._revision, 'I'))