2011-07-15 19 views
6

No he usado epydoc en los últimos 2 años, pero me ha resultado muy útil hacer un seguimiento de mis clases y métodos con muy poco esfuerzo.epydoc AttributeError: el objeto 'Texto' no tiene 'datos' de atributo

Hoy instalé la última versión 3.0.1 pero aparece este error y parece que no hay soluciones.

Traceback (most recent call last):-] Parsing docstrings: pyramid.reques... 
    File "/home/neurino/apps/env/bin/epydoc", line 13, in <module> 
    cli() 
    File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/cli.py", line 965, in cli 
    main(options, names) 
    File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/cli.py", line 757, in main 
    exclude_parse=exclude_parse) 
    File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/docbuilder.py", line 275, in build_doc_index 
    parse_docstring(val_doc, docindex, suppress_warnings) 
    File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/docstringparser.py", line 265, in parse_docstring 
    api_doc.summary, api_doc.other_docs = api_doc.descr.summary() 
    File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/markup/restructuredtext.py", line 179, in summary 
    try: self._document.walk(visitor) 
    File "/home/neurino/apps/env/lib/python2.7/site-packages/docutils/nodes.py", line 137, in walk 
    if child.walk(visitor): 
    File "/home/neurino/apps/env/lib/python2.7/site-packages/docutils/nodes.py", line 129, in walk 
    visitor.dispatch_visit(self) 
    File "/home/neurino/apps/env/lib/python2.7/site-packages/docutils/nodes.py", line 1604, in dispatch_visit 
    return method(node) 
    File "/home/neurino/apps/env/lib/python2.7/site-packages/epydoc/markup/restructuredtext.py", line 307, in visit_paragraph 
    m = self._SUMMARY_RE.match(child.data) 
AttributeError: 'Text' object has no attribute 'data' 

¿El proyecto epydoc está muerto?

+0

(cuando se puede), usted debe publicar esto como una respuesta y lo aceptan - para las generaciones futuras! – katrielalex

+0

Lo sé, pero no me deja agregar una respuesta hasta una cierta cantidad de horas y, a menudo me olvido de eso, así que, para las generaciones futuras, me voy de esta manera ... :) Espero recordar los próximos días para agregar respuesta una respuesta real. – neurino

+0

Estaba equivocado ... Puedo responder pero no acepto, gracias por la sugerencia – neurino

Respuesta

6

Epydoc no se ha mantenido durante mucho tiempo y la última versión no es del todo compatible con la actual Pyton y docutils . Sin embargo, sigue siendo una herramienta útil, pero necesita algunos parches.

Aquí hay algunos parches que utilicé con Epydoc para compilar documentación para mi código Python 2.7: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/epydoc/ (son parte del paquete PLD-Linux Epydoc).

Me gustaría que alguien se hace cargo el código y continuar con el desarrollo ...

8

me encontré con un parche en perseguidor epydoc, que era anticuado de todos modos esta parte resuelve el problema:

markup/restructuredtext.py 
307c307,310 
<     m = self._SUMMARY_RE.match(child.data) 
--- 
>     try: 
>      m = self._SUMMARY_RE.match(child.data) 
>     except AttributeError: 
>      m = None 
+0

Sí, estos cambios lo solucionan. Sin embargo, tuve que hacer los cambios manualmente. – user819893

0

Los objetos pueden ser probados contra nulo (es decir, ninguno) de manera que no se podía ocurrió la excepción.

if object is None: 
Cuestiones relacionadas