コード例 #1
0
    def check(
        self,
        # the parameters (dict) (#1).
        parameters={"parameter": None},
        # the recognizer value for when the parameters are supposed to be empty.
        default=None,
        # the traceback id.
        traceback=None,
    ):

        # single.
        if isinstance(parameters, tuple):
            name, parameter = parameters
            if parameter == default:
                if traceback != None:
                    return _response_.error(
                        f"{traceback}: Define parameter [{name}].")
                else:
                    return _response_.error(f"Define parameter [{name}].")
            if ":" in name:
                name, formats = name.split(":")
                while True:
                    if " " in formats: formats = formats.replace(" ", "")
                    else: break
                formats = formats.split(",")
                param_format = Formats.get(parameter, serialize=True)
                if param_format not in formats:
                    return _response_.error(
                        f"Incorrect parameter [{name}:{param_format}] format, correct format(s): {Array(path=False, array=formats).string(joiner=', ')}."
                    )
            return _response_.success(
                f"Succesfully checked parameter [{name}].")

        # recursive.
        elif isinstance(parameters, (dict, Dictionary, ResponseObject)):
            for id, value in parameters.items():
                response = self.check(parameters=(id, value),
                                      default=default,
                                      traceback=traceback)
                if response["error"] != None: return response
            return _response_.success(
                f"Succesfully checked {len(parameters)} parameter(s).")
        # invalid.
        else:
            raise Exceptions.InstanceError(
                f"Parameter [parameters] requires to be a [dict, Dictionary, tuple] not [{parameters.__class__.__name__}]."
            )
コード例 #2
0
 def __le__(self, response):
     if not isinstance(response, self.__class__):
         raise Exceptions.InstanceError(
             f"Can not compare object {self.__class__} & {response.__class__}."
         )
     return len(self) <= len(response)