pycco-docs / pycco

Literate-style documentation generator.

Home Page:https://pycco-docs.github.io/pycco/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project with many files will raise RecursionError

EmadMokhtar opened this issue · comments

I have a project with many *.py files, when I run pycco command to generate docs for all py files, it will raise RecursionError: maximum recursion depth exceeded while calling a Python object

Command

 pycco app/**/*py --directory=tech-docs -p -i -s

Python version: 3.6.2
Pycco version: 0.6.0

Call Stack

Traceback (most recent call last):
  File "/Users/emadmokhtar/.virtualenvs/project/bin/pycco", line 11, in <module>
    sys.exit(main())
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco/main.py", line 631, in main
    skip=args.skip_bad_files)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco/main.py", line 533, in process
    next_file()
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco/main.py", line 532, in next_file
    next_file()
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco/main.py", line 532, in next_file
    next_file()
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco/main.py", line 532, in next_file
    next_file()
  [Previous line repeated 960 more times]
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco/main.py", line 521, in next_file
    encoding=encoding))
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco/main.py", line 80, in generate_documentation
    return _generate_documentation(source, code, outdir, preserve_paths, language)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco/main.py", line 90, in _generate_documentation
    return generate_html(file_path, sections, preserve_paths=preserve_paths, outdir=outdir)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco/main.py", line 340, in generate_html
    "source": source,
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pycco_resources/__init__.py", line 243, in <lambda>
    return lambda context: pystache.render(source, context)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/init.py", line 19, in render
    return renderer.render(template, context, **kwargs)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/renderer.py", line 454, in render
    return self._render_string(template, *context, **kwargs)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/renderer.py", line 402, in _render_string
    return self._render_final(render_func, *context, **kwargs)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/renderer.py", line 419, in _render_final
    return render_func(engine, stack)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/renderer.py", line 400, in <lambda>
    render_func = lambda engine, stack: engine.render(template, stack)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/renderengine.py", line 181, in render
    return parsed_template.render(self, context_stack)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/parsed.py", line 47, in render
    parts = list(map(get_unicode, self._parse_tree))
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/parsed.py", line 46, in get_unicode
    return node.render(engine, context)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/parser.py", line 218, in render
    parts.append(self.parsed.render(engine, context))
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/parsed.py", line 47, in render
    parts = list(map(get_unicode, self._parse_tree))
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/parsed.py", line 46, in get_unicode
    return node.render(engine, context)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/parser.py", line 121, in render
    s = engine.fetch_string(context, self.key)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/renderengine.py", line 105, in fetch_string
    val = self.resolve_context(context, name)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/renderer.py", line 317, in resolve_context
    return context_get(stack, name)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/renderengine.py", line 19, in context_get
    return stack.get(name)
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/context.py", line 281, in get
    result = self._get_simple(parts[0])
  File "/Users/emadmokhtar/.virtualenvs/project/lib/python3.6/site-packages/pystache/context.py", line 309, in _get_simple
    for item in reversed(self._stack):
RecursionError: maximum recursion depth exceeded while calling a Python object