Am 2010-10-15 um 08:58 schrieb Henning Hraban Ramm:

> Am 2010-10-14 um 19:53 schrieb Paul McNett:
>>
>> I tried a few systems before rolling my own, and the reason I rolled
>> my own was that
>> I felt there was far too much noise in the output, mostly due to all
>> of the classes
>> involved in a given Dabo object. I couldn't seem to get control over
>> issues like
>> "don't list all the wx-layer stuff".
>>
>> Also, it was tough to train the other systems how to find the UI
>> classes, because of
>> the indirection we use. When I got it to work, it gave incorrect
>> information
>> (dabo.ui.uiwx.dTextBox versus dabo.ui.dTextBox).
>
> I understand. Of course, dabo is doing some magic here...

Ok, now I understand a bit more:
(At least) Sphinx must be able to import all classes, and that can't  
work without some setup (e.g. loading an UI).
I always get "TypeError: Error when calling the metaclass bases"
Source RSt files and setup attached.

I tried pydoctor (made for Twisted), because that doesn't import your  
code.
It expects epytext formatting and thus gives a lot of warnings that  
one can ignore.
Of course it can't put uiwx classes into ui.
Otherwise it works rather well, as long as I only point it at  
subdirectories (biz, lib, db, ui).
On dabo root I get "AttributeError: 'Module' object has no attribute  
'subclasses'" - that seems to be some problem of the tree builder.

Doxygen looks promising, but the output just isn't as handy as that of  
the other solutions, perhaps it's too much C- and Java-oriented and  
has too much overhead.
I didn't much try to tweak it, maybe there's potential (see attached  
cfg). "Out of the box" it doesn't really understand dabo's i18n'ed  
docstrings (I question the importance of i18n for docstrings, though.)  
and expects its own formatting (like JavaDoc, I guess).

With Epydoc you can choose whether to import or just parse the classes.
I get a lot of warnings like "Warning: Module dabo.dPref is shadowed  
by a variable with the same name.", "Warning: dabo.ui.uiwx.dPemMixin  
shadows its own value -- using dabo.ui.uiwx.dPemMixin'.dPemMixin  
instead", "Warning: dabo.lib.datanav.Bizobj.Bizobj's base  
dabo.biz.dBizobj is not a class", "Warning: No information available  
for dabo.lib.datanav.Form.Form's base dabo.ui.dForm"
While allowing introspection it finally breaks with "Writing HTML  
docs: dabo.ui.uitk.dPemMixin.dPemMixin-class.html / UNEXPECTED ERROR:  
object is its own container?".
Without introspection it breaks with: "Writing HTML docs: int- 
class.html / UNEXPECTED ERROR: iteration over non-sequence" - i.e.  
writing a class documentation on "int"? Strange. Maybe some class  
inherits from int?
Up to that the output looks useful. For the records, I tried:
$ epydoc --html -o epydoc --parse-only --name dabo --url dabodev.com -- 
docformat plaintext --graph all --inheritance included dabo

If you like I can package the whole stuff and send it to you:
sphinx: < 2 MB HTML, but incomplete
pydoctor: 10 MB (just HTML!)
doxygen: 64 MB HTML incl. graphics + 7,5 MB LaTeX sources incl. graphics
epydoc: 56 MB incl. graphics




Greetlings from Lake Constance!
Hraban
---
http://www.fiee.net
https://www.cacert.org (I'm an assurer)





--- StripMime Report -- processed MIME parts ---
multipart/mixed
  text/plain (text body -- kept)
  application/zip
  application/octet-stream
---
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: 
http://leafe.com/archives/byMID/[email protected]

Reply via email to