code: def encode(self, value):
          "Return a bytestring representation of the value"
          if isinstance(value, Token):
              return value.encoded_value
          elif isinstance(value, bytes):
              return value
          elif isinstance(value, bool):
              # special case bool since it is a subclass of int
              raise DataError("Invalid input of type: 'bool'. Convert to a "
                              "byte, string or number first.")
          elif isinstance(value, float):
              value = repr(value).encode()
          elif isinstance(value, (int, long)):
              # python 2 repr() on longs is '123L', so use str() instead
              value = str(value).encode()
          elif not isinstance(value, basestring):
              # a value we don't know how to deal with. throw an error
              typename = type(value).__name__
              raise DataError("Invalid input of type: '%s'. Convert to a "
                              "byte, string or number first." % typename)
          if isinstance(value, unicode):
              value = value.encode(self.encoding, self.encoding_errors)
          return valuf encode(self, value):
          "Return a bytestring representation of the value"
          if isinstance(value, Token):
              return value.encoded_value
          elif isinstance(value, bytes):
              return value
          elif isinstance(value, bool):
              # special case bool since it is a subclass of int
              raise DataError("Invalid input of type: 'bool'. Convert to a "
                              "byte, string or number first.")
          elif isinstance(value, float):
              value = repr(value).encode()
          elif isinstance(value, (int, long)):
              # python 2 repr() on longs is '123L', so use str() instead
              value = str(value).encode()
          elif not isinstance(value, basestring):
              # a value we don't know how to deal with. throw an error
              typename = type(value).__name__
              raise DataError("Invalid input of type: '%s'. Convert to a "
                              "byte, string or number first." % typename)
          if isinstance(value, unicode):
              value = value.encode(self.encoding, self.encoding_errors)
          return value
docs: Return a bytestring representation of the value