docs: def parse_all_arguments(func):
      """ determine all positional and named arguments as a dict """
      args = dict()
      if sys.version_info < (3, 0):
          func_args = inspect.getargspec(func)
          if func_args.defaults is not None:
              val = len(func_args.defaults)
              for i, itm in enumerate(func_args.args[-val:]):
                  args[itm] = func_args.defaults[i]
      else:
          func_args = inspect.signature(func)
          for itm in list(func_args.parameters)[1:]:
              param = func_args.parameters[itm]
              if param.default is not param.empty:
                  args[param.name] = param.default
      return args