예제 #1
0
def get_jsonweb_handler(cls):
    arg_spec = get_arg_spec(cls.__init__)
    if arg_spec is None:
        raise JsonWebError("Unable to generate an object_hook handler from "
                           "{0}'s `__init__` method.".format(cls.__name__))
    args, kw = get_arg_spec(cls.__init__)

    return JsonWebObjectHandler(args, kw or None)
예제 #2
0
    def __get__(self, obj, type=None):

        if type is None:
            return self
        if not isinstance(self.__type, str):
            return self

        from jsonweb.decode import _default_object_handlers
        #``_type`` was a string and now we must get the actual class
        handler = _default_object_handlers.get(self.__type)

        if not handler:
            raise JsonWebError("Cannot find class {0}.".format(self.__type))

        return EnsureType(handler[1],
                          type_name=self.__type_name,
                          optional=(not self.required),
                          nullable=self.nullable)