samuelcolvin / python-devtools

Dev tools for python
https://python-devtools.helpmanual.io/
MIT License
985 stars 47 forks source link

error with kwargs usage #28

Closed samuelcolvin closed 5 years ago

samuelcolvin commented 5 years ago
tests/test_utils.py:110: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
atoolbox/utils.py:79: in parse_request_query
    debug(**data)
env/lib/python3.6/site-packages/devtools/debug.py:112: in __call__
    d_out = self._process(args, kwargs, r'debug *\(')
env/lib/python3.6/site-packages/devtools/debug.py:155: in _process
    arguments = list(self._process_args(func_ast, code_lines, args, kwargs))
env/lib/python3.6/site-packages/devtools/debug.py:178: in _process_args
    arg_offsets = list(self._get_offsets(func_ast))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

func_ast = <_ast.Call object at 0x7f3a4bb9b240>

    @staticmethod
    def _get_offsets(func_ast):
        for arg in func_ast.args:
            start_line, start_col = arg.lineno - 2, arg.col_offset - 1

            # horrible hack for http://bugs.python.org/issue31241
            if isinstance(arg, (ast.ListComp, ast.GeneratorExp)):
                start_col -= 1
            yield start_line, start_col
        for kw in func_ast.keywords:
>           yield kw.value.lineno - 2, kw.value.col_offset - len(kw.arg) - 2
E           TypeError: object of type 'NoneType' has no len()

env/lib/python3.6/site-packages/devtools/debug.py:272: TypeError

result of using debug(**data)