Hash: SHA1

Michael McNeil Forbes wrote:
>> Michael,
>> It looks as though you are going to get the extension included in the
>> next Sphinx version, which would allow me to retire
>> repoze.sphinx.autointerface, right?  I would be glad to ditch the
>> extension, which produces a readable-bug-ugly API reference.
> Hi Tres,
> I think that is the plan, as long as the extension is kept minimal,  
> clean and neat.  Could you take a look at it and make sure it supports  
> all the features you can think of that zope might need?  I will add  
> anything that is missing, and then submit it for inclusion which would  
> allow you to retire your version.
> Also, do you know of anything else in zope (or in its forseeable  
> future) that would require this extension to become much more  
> substantial?  If so, then it would probably be best to keep it  
> separate (I could start a bitbucket project for it) so that it does  
> not become a maintenance problem for the Sphinx developers.  If the  
> desired feature set is comparable to what is already present, then I  
> think it will probably be included with Sphinx.

Hmm, I'm not sure how to test your extension:

 $ /path/to/python/bin/virtualenv --no-site-packages /path/to/virtualenv
 $ /path/to/virtualenv/bin/easy_install -U Sphinx
 Searching for Sphinx
 Reading http://pypi.python.org/simple/Sphinx/
 Reading http://sphinx.pocoo.org/
 Best match: Sphinx 0.5.1
 $ cd /path/to/package/docs
 $ wget http://bitbucket.org/m//attch/2009/02/autointerface_.py
 $ vim conf.py # add 'autointerface_' to extensions
 $ PYTHONPATH=. PATH=/path/to/virtualenv/bin:$PATH make html
 Exception occurred:
  File "/path/to/package/docs/autointerface_.py", line 48, in <module>
     class InterfaceDocumenter(sphinx.ext.autodoc.ClassDocumenter):
 AttributeError: 'module' object has no attribute 'ClassDocumenter'
 The full traceback has been saved in /tmp/sphinx-err-TOCDKj.log, if \
    you want to report the issue to the author.
 Please also report this if it was a user error, so that a better \
    error message can be provided next time.
 Send reports to sphinx-...@googlegroups.com. Thanks!

Is there a newer version of Sphinx that I'm missing?

BTW, a minor correction: the comment at the top of the 'autointerface_'
module states, "The problem with zope interfaces is that, although they
are classes, they hide their methods and require customized access to
documentation, signatures etc."

In fact, a zope interface is *not* a class, in spite of the fact that it
is almost invariably spelled using the Python 'class' keyword:
interface objects are in an entirely different realm than Python type /
class objects.

 >>> from zope.interface import Interface
 >>> class IFoo(Interface): pass
 >>> class Foo(object): pass
 >>> type(Foo)
 <type 'type'>
 >>> type(IFoo)
 <class 'zope.interface.interface.InterfaceClass'>
 >>> isinstance(IFoo, type)
 >>> isinstance(Foo, type)

- --
Tres Seaver          +1 540-429-0999         tsea...@agendaless.com
Agendaless Consulting                         http://agendaless.com
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

Repoze-dev mailing list

Reply via email to