Source code for pyswagger.primitives._byte

from __future__ import absolute_import
import six
import base64


[docs]class Byte(object): """ for string type, byte format """
[docs] def apply_with(self, _, v, ctx): """ constructor :param str v: accept six.string_types, six.binary_type """ if isinstance(v, six.binary_type): self.v = v elif isinstance(v, six.string_types): self.v = v.encode('utf-8') else: raise ValueError('Unsupported type for Byte: ' + str(type(v)))
def __str__(self): return self.v.decode('utf-8')
[docs] def to_json(self): """ according to https://github.com/wordnik/swagger-spec/issues/50, we should exchange 'byte' type via base64 encoding. """ return base64.urlsafe_b64encode(self.v)