Ticket #138 (assigned enhancement)
Tidy up output of epydoc when processing xapian python bindings
| Reported by: | richard | Owned by: | richard |
|---|---|---|---|
| Priority: | low | Milestone: | 1.1.0 |
| Component: | Xapian-bindings | Version: | SVN trunk |
| Severity: | minor | Keywords: | |
| Cc: | olly | Blocked By: | |
| Operating System: | All | Blocking: |
Description (last modified by richard) (diff)
Now that the python bindings have documentation strings, I've tried running epydoc on the xapian module to generate an HTML format version of the documentation. This does a pretty good job (good enough that we should include it on the xapian website for each released version). However, there are several issues that could do with being tidied up, so I'll list them here.
1. epydoc seems to consider some of the methods (eg Document.termlist) which are added to the classes by "extra.i" as "private", and therefore doesn't display them by default. This should be changed so that they're visible by default.
2. Methods which aren't intended to be called externally should be hidden so that epydoc considers them "private". This could be done by renaming them. For example, Document.termlist_begin() shouldn't be public; renaming it to Document._termlist_begin() would make epydoc consider it to be private, and would prevent users calling it and not knowing how to use the returned iterator. In particular, this would reduce the likelihood of confusion between classes like MSetIter and MSetIterator, since it would be impossible to get an instance of MSetIterator without accessing a private method or attribute.
3. "epydoc xapian" reports several errors, due to markup in the documentation comments being invalid restructuredText. This should be fixed - in many cases the fix will lie in doxy2swig.py, but in some cases the documentation comments in the C++ headers could do with fixing up.
