Beispiel #1
0
 def resolve(self, parameter: Parameter) -> Any:
     try:
         return parameter.annotation(self.params[parameter.name])
     except (TypeError, ValueError):
         raise HTTPError(
             HTTP_400, {
                 "errors": {
                     parameter.name:
                     f"invalid {parameter.annotation.__name__} value",
                 }
             })
def resolve(parameter: Parameter, params_dict):
    try:
        value = params_dict[parameter.name]
    except KeyError:
        if parameter.default is not parameter.empty:
            return parameter.default
        else:
            raise exceptions.NotFound(
                f"Parameter {parameter.name} not resolved")
    try:
        return parameter.annotation(value)
    except Exception:
        raise exceptions.BadRequest(f"Parameter {parameter.name} invalid")
def _convertArgs(name: str, param: inspect.Parameter, arg: str):
    Logger.verbose(f"Transforming Argument Data For Argument {name}",
                   module="command")

    # If There Is No Type To Convert, Ignore
    if param.annotation == inspect._empty:  # type: ignore
        return arg

    # Try to parse, if error, cancel
    try:
        return param.annotation(arg)
    except ValueError:
        raise CommandError(
            f"Argument '{name}' Expected {param.annotation.__name__} But Got '{type(arg).__name__}'"
        )
Beispiel #4
0
    def resolve(self, route: Route, data: http.RequestData,
                parameter: inspect.Parameter, query_params: http.QueryParams):
        data = data or query_params
        if not data:
            if parameter.default != inspect._empty:
                data = parameter.default
            else:
                raise BadRequest(f"{parameter.name} cannot be empty!")

        if isinstance(data, ImmutableMultiDict):
            data = self._change_to_dict(data)

        try:
            return parameter.annotation(data)
        except Exception:
            return data
Beispiel #5
0
 def resolve(self, parameter: inspect.Parameter,
             data: ValidatedRequestData):
     try:
         return parameter.annotation(data)
     except validators.ValidationError as exc:
         raise exceptions.BadRequest(exc.detail)
Beispiel #6
0
 def resolve(self,
             parameter: inspect.Parameter,
             data: ValidatedRequestData):
     return parameter.annotation(data)
 def handle_parameter(self, parameter: Parameter, value_dict):
     return parameter.annotation(value_dict)