Python inspect.Parameter.POSITIONAL_ONLY Examples
The following are 6
code examples of inspect.Parameter.POSITIONAL_ONLY().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
inspect.Parameter
, or try the search function
.
Example #1
Source File: compat.py From easy_cache with MIT License | 6 votes |
def getargspec(func): signature = inspect.signature(func) args = [] varargs = None keywords = None defaults = [] for param in signature.parameters.values(): # type: Parameter if param.kind == Parameter.VAR_POSITIONAL: varargs = param.name elif param.kind in ( Parameter.POSITIONAL_ONLY, Parameter.KEYWORD_ONLY, Parameter.POSITIONAL_OR_KEYWORD): args.append(param.name) elif param.kind == Parameter.VAR_KEYWORD: keywords = param.name # noinspection PyProtectedMember if param.default is not inspect._empty: defaults.append(param.default) return ArgSpec(args, varargs, keywords, tuple(defaults))
Example #2
Source File: signature.py From mockito-python with MIT License | 5 votes |
def positional_arguments(sig): return len([p for n, p in sig.parameters.items() if p.kind in (Parameter.POSITIONAL_ONLY, Parameter.POSITIONAL_OR_KEYWORD)])
Example #3
Source File: proxy_method.py From pydbus with GNU Lesser General Public License v2.1 | 5 votes |
def __init__(self, iface_name, method): self._iface_name = iface_name self.__name__ = method.attrib["name"] self.__qualname__ = self._iface_name + "." + self.__name__ self._inargs = [(arg.attrib.get("name", ""), arg.attrib["type"]) for arg in method if arg.tag == "arg" and arg.attrib.get("direction", "in") == "in"] self._outargs = [arg.attrib["type"] for arg in method if arg.tag == "arg" and arg.attrib.get("direction", "in") == "out"] self._sinargs = "(" + "".join(x[1] for x in self._inargs) + ")" self._soutargs = "(" + "".join(self._outargs) + ")" self_param = Parameter("self", Parameter.POSITIONAL_ONLY) pos_params = [] for i, a in enumerate(self._inargs): name = filter_identifier(a[0]) if not name: name = "arg" + str(i) param = Parameter(name, Parameter.POSITIONAL_ONLY, annotation=a[1]) pos_params.append(param) ret_type = Signature.empty if len(self._outargs) == 0 else self._outargs[0] if len(self._outargs) == 1 else "(" + ", ".join(self._outargs) + ")" self.__signature__ = DBUSSignature([self_param] + pos_params, return_annotation=ret_type) if put_signature_in_doc: self.__doc__ = self.__name__ + str(self.__signature__)
Example #4
Source File: signature.py From ray with Apache License 2.0 | 5 votes |
def _convert_from_parameter_kind(kind): if kind == Parameter.POSITIONAL_ONLY: return 0 if kind == Parameter.POSITIONAL_OR_KEYWORD: return 1 if kind == Parameter.VAR_POSITIONAL: return 2 if kind == Parameter.KEYWORD_ONLY: return 3 if kind == Parameter.VAR_KEYWORD: return 4
Example #5
Source File: signature.py From ray with Apache License 2.0 | 5 votes |
def _convert_to_parameter_kind(value): if value == 0: return Parameter.POSITIONAL_ONLY if value == 1: return Parameter.POSITIONAL_OR_KEYWORD if value == 2: return Parameter.VAR_POSITIONAL if value == 3: return Parameter.KEYWORD_ONLY if value == 4: return Parameter.VAR_KEYWORD
Example #6
Source File: debug.py From PyDMXControl with GNU General Public License v3.0 | 4 votes |
def __callbacks_parameters(parameters: List[Parameter]) -> Tuple[list, dict]: # Given params ordered_params = [] keyword_params = {} # Go through all params for param in parameters: # Basic param information has_default = (param.default != Parameter.empty) has_type = (param.annotation != Parameter.empty) param_type = str(param.annotation) if has_type else "Unknown" param_default = (", leave blank for default " + str(param.default)) if has_default else "" # Validate the parameter input given_param = False def valid(this): # Not started if this is None: return False # Default? if this.strip() == "": if has_default: return param.default return False # Normal try: return param.annotation(this) except Exception: return this # Get input while given_param is False: given_param = valid(input( "[Callbacks Debug] Parameter '" + param.name + "' (expects " + param_type + param_default + "): ")) # Add to return if param.kind == Parameter.POSITIONAL_ONLY: ordered_params.append(given_param) else: keyword_params[param.name] = given_param return ordered_params, keyword_params