Example #1
0
 def w_bound_method(*args, **kwargs):
     if len(args) == 2 and len(kwargs) == 0 and is_data(args[1]):
         # ASSUME SECOND UNNAMED PARAM IS kwargs
         packed = params_pack(params, defaults, args[1], {params[0]: args[0]}, kwargs)
     elif KWARGS in kwargs and is_data(kwargs[KWARGS]):
         # PUT args INTO kwargs
         packed = params_pack(params, defaults, kwargs[KWARGS], dict_zip(params, args), kwargs)
     else:
         packed = params_pack(params, defaults, dict_zip(params, args), kwargs)
     try:
         return func(**packed)
     except TypeError as e:
         raise_error(e, packed)
Example #2
0
 def w_bound_method(*args, **kwargs):
     if len(args) == 2 and len(kwargs) == 0 and is_data(args[1]):
         # ASSUME SECOND UNNAMED PARAM IS kwargs
         packed = params_pack(params, args[1], defaults)
     elif "kwargs" in kwargs and is_data(kwargs["kwargs"]):
         # PUT args INTO kwargs
         packed = params_pack(params, kwargs, dict_zip(params[1:], args[1:]), kwargs["kwargs"], defaults)
     else:
         packed = params_pack(params, kwargs, dict_zip(params[1:], args[1:]), defaults)
     try:
         return func(args[0], **packed)
     except TypeError as e:
         raise_error(e, packed)
Example #3
0
 def w_constructor(*args, **kwargs):
     if "kwargs" in kwargs:
         packed = params_pack(params, kwargs, dict_zip(params[1:], args[1:]), kwargs["kwargs"], defaults)
     elif len(args) == 2 and len(kwargs) == 0 and isinstance(args[1], Mapping):
         # ASSUME SECOND UNNAMED PARAM IS kwargs
         packed = params_pack(params, args[1], defaults)
     else:
         # DO NOT INCLUDE self IN kwargs
         packed = params_pack(params, kwargs, dict_zip(params[1:], args[1:]), defaults)
     try:
         return func(args[0], **packed)
     except TypeError as e:
         raise_error(e, packed)
Example #4
0
 def w_kwargs(*args, **kwargs):
     if len(args) == 1 and len(kwargs) == 0 and is_data(args[0]):
         # ASSUME SINGLE PARAMETER IS kwargs
         packed = params_pack(params, args[0], defaults)
     elif "kwargs" in kwargs and is_data(kwargs["kwargs"]):
         # PUT args INTO kwargs
         packed = params_pack(params, kwargs, dict_zip(params, args), kwargs["kwargs"], defaults)
     else:
         # PULL kwargs OUT INTO PARAMS
         packed = params_pack(params, kwargs, dict_zip(params, args), defaults)
     try:
         return func(**packed)
     except TypeError as e:
         raise_error(e, packed)
Example #5
0
 def w_kwargs(*args, **kwargs):
     if len(args) == 1 and len(kwargs) == 0 and is_data(args[0]):
         # ASSUME SINGLE PARAMETER IS kwargs
         packed = params_pack(params, defaults, args[0])
     elif KWARGS in kwargs and is_data(kwargs[KWARGS]):
         # PUT args INTO kwargs
         packed = params_pack(params, defaults, kwargs[KWARGS], dict_zip(params, args), kwargs)
     else:
         # PULL kwargs OUT INTO PARAMS
         packed = params_pack(params, defaults, dict_zip(params, args), kwargs)
     try:
         return func(**packed)
     except TypeError as e:
         raise_error(e, packed)
Example #6
0
 def w_constructor(*args, **kwargs):
     if KWARGS in kwargs:
         packed = params_pack(params, defaults, kwargs[KWARGS], kwargs, dict_zip(params[1:], args[1:]))
     elif len(args) == 2 and len(kwargs) == 0 and is_data(args[1]):
         # ASSUME SECOND UNNAMED PARAM IS kwargs
         packed = params_pack(params, defaults, args[1])
     else:
         # DO NOT INCLUDE self IN kwargs
         packed = params_pack(params, defaults, kwargs, dict_zip(params[1:], args[1:]))
     try:
         return func(args[0], **packed)
     except TypeError as e:
         packed['self'] = args[0]  # DO NOT SAY IS MISSING
         raise_error(e, packed)
Example #7
0
 def w_constructor(*args, **kwargs):
     if "kwargs" in kwargs:
         packed = params_pack(params, kwargs,
                              dict_zip(params[1:], args[1:]),
                              kwargs["kwargs"], defaults)
     elif len(args) == 2 and len(kwargs) == 0 and isinstance(
             args[1], Mapping):
         # ASSUME SECOND UNNAMED PARAM IS kwargs
         packed = params_pack(params, args[1], defaults)
     else:
         # DO NOT INCLUDE self IN kwargs
         packed = params_pack(params, kwargs,
                              dict_zip(params[1:], args[1:]), defaults)
     try:
         return func(args[0], **packed)
     except TypeError as e:
         raise_error(e, packed)
Example #8
0
 def w_kwargs(*args, **kwargs):
     if len(args) == 1 and len(kwargs) == 0 and isinstance(
             args[0], Mapping):
         # ASSUME SINGLE PARAMETER IS kwargs
         packed = params_pack(params, args[0], defaults)
     elif "kwargs" in kwargs and isinstance(kwargs["kwargs"], Mapping):
         # PUT args INTO kwargs
         packed = params_pack(params, kwargs, dict_zip(params, args),
                              kwargs["kwargs"], defaults)
     else:
         # PULL kwargs OUT INTO PARAMS
         packed = params_pack(params, kwargs, dict_zip(params, args),
                              defaults)
     try:
         return func(**packed)
     except TypeError as e:
         raise_error(e, packed)
Example #9
0
 def w_bound_method(*args, **kwargs):
     if len(args) == 2 and len(kwargs) == 0 and isinstance(
             args[1], Mapping):
         # ASSUME SECOND UNNAMED PARAM IS kwargs
         packed = params_pack(params, args[1], defaults)
     elif "kwargs" in kwargs and isinstance(kwargs["kwargs"], Mapping):
         # PUT args INTO kwargs
         packed = params_pack(params, kwargs,
                              dict_zip(params[1:], args[1:]),
                              kwargs["kwargs"], defaults)
     else:
         packed = params_pack(params, kwargs,
                              dict_zip(params[1:], args[1:]), defaults)
     try:
         return func(args[0], **packed)
     except TypeError as e:
         raise_error(e, packed)
Example #10
0
 def w_kwargs(*given_args, **given_kwargs):
     if len(given_args) == 1 and len(given_kwargs) == 0 and is_data(
             given_args[0]):
         # ASSUME SINGLE PARAMETER IS kwargs
         a, k = params_pack(params, defaults, given_args[0])
     elif kwargs in given_kwargs and is_data(given_kwargs[kwargs]):
         # PUT given_args INTO given_kwargs
         a, k = params_pack(params, defaults, given_kwargs[kwargs],
                            dict_zip(params, given_args),
                            given_kwargs)
     else:
         # PULL kwargs OUT INTO PARAMS
         a, k = params_pack(params, defaults,
                            dict_zip(params, given_args),
                            given_kwargs)
     try:
         return func(*a, **k)
     except TypeError as e:
         raise_error(e, a, k)
Example #11
0
 def w_bound_method(*given_args, **given_kwargs):
     if len(given_args) == 2 and len(given_kwargs) == 0 and is_data(
             given_args[1]):
         # ASSUME SECOND UNNAMED PARAM IS kwargs
         a, k = params_pack(params, defaults, given_args[1],
                            {params[0]: given_args[0]},
                            given_kwargs)
     elif kwargs in given_kwargs and is_data(given_kwargs[kwargs]):
         # PUT args INTO given_kwargs
         a, k = params_pack(params, defaults, given_kwargs[kwargs],
                            dict_zip(params, given_args),
                            given_kwargs)
     else:
         a, k = params_pack(params, defaults,
                            dict_zip(params, given_args),
                            given_kwargs)
     try:
         return func(*a, **k)
     except TypeError as e:
         raise_error(e, a, k)
Example #12
0
 def wrapper(*args, **kwargs):
     try:
         func_name = get_function_name(func)
         if func_name in ("__init__", "__new__") and "kwargs" in kwargs:
             packed = params_pack(params, kwargs,
                                  dict_zip(params[1:], args[1:]),
                                  kwargs["kwargs"], defaults)
             return func(args[0], **packed)
         elif func_name in ("__init__", "__new__") and len(
                 args) == 2 and len(kwargs) == 0 and isinstance(
                     args[1], Mapping):
             # ASSUME SECOND UNNAMED PARAM IS kwargs
             packed = params_pack(params, args[1], defaults)
             return func(args[0], **packed)
         elif func_name in ("__init__", "__new__"):
             # DO NOT INCLUDE self IN kwargs
             packed = params_pack(params, kwargs,
                                  dict_zip(params[1:], args[1:]), defaults)
             return func(args[0], **packed)
         elif params[0] == "self" and "kwargs" in kwargs:
             packed = params_pack(params, kwargs,
                                  dict_zip(params[1:], args[1:]),
                                  kwargs["kwargs"], defaults)
             return func(args[0], **packed)
         elif params[0] == "self" and len(args) == 2 and len(
                 kwargs) == 0 and isinstance(args[1], Mapping):
             # ASSUME SECOND UNNAMED PARAM IS kwargs
             packed = params_pack(params, args[1], defaults)
             return func(args[0], **packed)
         elif params[0] == "self":
             packed = params_pack(params, kwargs,
                                  dict_zip(params[1:], args[1:]), defaults)
             return func(args[0], **packed)
         elif len(args) == 1 and len(kwargs) == 0 and isinstance(
                 args[0], Mapping):
             # ASSUME SINGLE PARAMETER IS A SETTING
             packed = params_pack(params, args[0], defaults)
             return func(**packed)
         elif "kwargs" in kwargs and isinstance(kwargs["kwargs"], Mapping):
             # PUT args INTO kwargs
             packed = params_pack(params, kwargs, dict_zip(params, args),
                                  kwargs["kwargs"], defaults)
             return func(**packed)
         else:
             # PULL kwargs OUT INTO PARAMS
             packed = params_pack(params, kwargs, dict_zip(params, args),
                                  defaults)
             return func(**packed)
     except TypeError as e:
         e = Except.wrap(e)
         if e.message.startswith(func_name) and "takes at least" in e:
             missing = [p for p in params if str(p) not in packed]
             get_logger().error(
                 "Problem calling {{func_name}}:  Expecting parameter {{missing}}, given {{given}}",
                 func_name=func_name,
                 missing=missing,
                 given=packed.keys(),
                 stack_depth=1)
         get_logger().error("Error dispatching call", e)
Example #13
0
 def wrapper(*args, **kwargs):
     try:
         if func.func_name in ("__init__",
                               "__new__") and "kwargs" in kwargs:
             packed = params_pack(params, kwargs,
                                  dict_zip(params[1:], args[1:]),
                                  kwargs["kwargs"], defaults)
             return func(args[0], **packed)
         elif func.func_name in ("__init__", "__new__") and len(
                 args) == 2 and len(kwargs) == 0 and isinstance(
                     args[1], Mapping):
             # ASSUME SECOND UNNAMED PARAM IS kwargs
             packed = params_pack(params, args[1], defaults)
             return func(args[0], **packed)
         elif func.func_name in ("__init__", "__new__"):
             # DO NOT INCLUDE self IN kwargs
             packed = params_pack(params, kwargs,
                                  dict_zip(params[1:], args[1:]), defaults)
             return func(args[0], **packed)
         elif params[0] == "self" and "kwargs" in kwargs:
             packed = params_pack(params, kwargs,
                                  dict_zip(params[1:], args[1:]),
                                  kwargs["kwargs"], defaults)
             return func(args[0], **packed)
         elif params[0] == "self" and len(args) == 2 and len(
                 kwargs) == 0 and isinstance(args[1], Mapping):
             # ASSUME SECOND UNNAMED PARAM IS kwargs
             packed = params_pack(params, args[1], defaults)
             return func(args[0], **packed)
         elif params[0] == "self":
             packed = params_pack(params, kwargs,
                                  dict_zip(params[1:], args[1:]), defaults)
             return func(args[0], **packed)
         elif len(args) == 1 and len(kwargs) == 0 and isinstance(
                 args[0], Mapping):
             # ASSUME SINGLE PARAMETER IS A SETTING
             packed = params_pack(params, args[0], defaults)
             return func(**packed)
         elif "kwargs" in kwargs and isinstance(kwargs["kwargs"], Mapping):
             # PUT args INTO kwargs
             packed = params_pack(params, kwargs, dict_zip(params, args),
                                  kwargs["kwargs"], defaults)
             return func(**packed)
         else:
             # PULL kwargs OUT INTO PARAMS
             packed = params_pack(params, kwargs, dict_zip(params, args),
                                  defaults)
             return func(**packed)
     except TypeError, e:
         if e.message.find("takes at least") >= 0:
             missing = [p for p in params if str(p) not in packed]
             get_logger().error(
                 "Problem calling {{func_name}}:  Expecting parameter {{missing}}",
                 func_name=func.func_name,
                 missing=missing,
                 stack_depth=1)
         get_logger().error("Unexpected", e)
Example #14
0
 def wrapper(*args, **kwargs):
     try:
         if func.func_name in ("__init__", "__new__") and "kwargs" in kwargs:
             packed = params_pack(params, kwargs, dict_zip(params[1:], args[1:]), kwargs["kwargs"], defaults)
             return func(args[0], **packed)
         elif func.func_name in ("__init__", "__new__") and len(args) == 2 and len(kwargs) == 0 and isinstance(args[1], Mapping):
             # ASSUME SECOND UNNAMED PARAM IS kwargs
             packed = params_pack(params, args[1], defaults)
             return func(args[0], **packed)
         elif func.func_name in ("__init__", "__new__"):
             # DO NOT INCLUDE self IN kwargs
             packed = params_pack(params, kwargs, dict_zip(params[1:], args[1:]), defaults)
             return func(args[0], **packed)
         elif params[0] == "self" and "kwargs" in kwargs:
             packed = params_pack(params, kwargs, dict_zip(params[1:], args[1:]), kwargs["kwargs"], defaults)
             return func(args[0], **packed)
         elif params[0] == "self" and len(args) == 2 and len(kwargs) == 0 and isinstance(args[1], Mapping):
             # ASSUME SECOND UNNAMED PARAM IS kwargs
             packed = params_pack(params, args[1], defaults)
             return func(args[0], **packed)
         elif params[0] == "self":
             packed = params_pack(params, kwargs, dict_zip(params[1:], args[1:]), defaults)
             return func(args[0], **packed)
         elif len(args) == 1 and len(kwargs) == 0 and isinstance(args[0], Mapping):
             # ASSUME SINGLE PARAMETER IS A SETTING
             packed = params_pack(params, args[0], defaults)
             return func(**packed)
         elif "kwargs" in kwargs and isinstance(kwargs["kwargs"], Mapping):
             # PUT args INTO kwargs
             packed = params_pack(params, kwargs, dict_zip(params, args), kwargs["kwargs"], defaults)
             return func(**packed)
         else:
             # PULL kwargs OUT INTO PARAMS
             packed = params_pack(params, kwargs, dict_zip(params, args), defaults)
             return func(**packed)
     except TypeError, e:
         if e.message.find("takes at least") >= 0:
             missing = [p for p in params if str(p) not in packed]
             get_logger().error(
                 "Problem calling {{func_name}}:  Expecting parameter {{missing}}",
                 func_name=func.func_name,
                 missing=missing,
                 stack_depth=1
             )
         get_logger().error("Unexpected", e)