[ikiwiki] / trunk / blog / posts / May-22-2007.mdwn Repository:
ViewVC logotype

View of /trunk/blog/posts/May-22-2007.mdwn

Parent Directory Parent Directory | Revision Log Revision Log


Revision 75 - (download) (annotate)
Thu Sep 6 18:35:39 2007 UTC (3 years ago) by camrdale
File size: 3155 byte(s)
Fix some dead and old links

[[meta title="May-22-2007: The Long Weekend of Documentation"]]

I spent most of this past weekend (a long weekend in Canada, thanks to our
[royal heritage][10]) writing documentation for the [DebTorrent][20] code. The
original [BitTornado][30] code was seriously lacking in this area, having only
670 lines of comments out of almost 20,000 total lines of code, which is 3.5% if
you're counting. (In fairness, this may be due in part to it being based on the
original bittorrent client.)

Since Python is supposed to be [known][35] for it's well-documented code, I
decided to tackle this shortcoming sooner rather than later. It's also a good
opportunity for me to become familiar with all of the code. I'm only about
halfway there, but the end result of my weekend's worth of work is this
diffstat:

    DebTorrent/BT1/Choker.py         |   99 ++++++++
    DebTorrent/BT1/Connecter.py      |  313 +++++++++++++++++++++++++++
    DebTorrent/BT1/Downloader.py     |  448 ++++++++++++++++++++++++++++++++++++++-
    DebTorrent/BT1/Storage.py        |  418 ++++++++++++++++++++++++++++++++++--
    DebTorrent/BT1/__init__.py       |    9
    DebTorrent/BT1/btformats.py      |   47 ++++
    DebTorrent/BTcrypto.py           |  147 ++++++++++++
    DebTorrent/ConfigDir.py          |  248 +++++++++++++++++++++
    DebTorrent/ConnChoice.py         |   12 -
    DebTorrent/CurrentRateMeasure.py |   69 +++++-
    DebTorrent/__init__.py           |   14 +
    DebTorrent/bencode.py            |  193 ++++++++++++++++
    DebTorrent/bitfield.py           |   89 +++++++
    DebTorrent/clock.py              |   53 ++++
    DebTorrent/download_bt1.py       |  380 ++++++++++++++++++++++++++++++++-
    DebTorrent/inifile.py            |   70 ++++--
    btcompletedir.py                 |   25 ++
    btcopyannounce.py                |   20 +
    btdownloadheadless.py            |  111 +++++++++
    btlaunchmany.py                  |   56 ++++
    btmakemetafile.py                |   19 +
    btreannounce.py                  |    6
    btrename.py                      |   11
    btsethttpseeds.py                |    6
    btshowmetainfo.py                |    6
    bttrack.py                       |    6
    setup.py                         |   20 +
    27 files changed, 2809 insertions(+), 86 deletions(-)

I've also started using the [epydoc][40] program to automatically generate some [documentation web pages][45] for easy browsing of the code. So far it's worked out great! So well that I decided to use some of the new features available in a recent beta release that was [not yet in the debian archive][50]. The packaging seemed simple enough, so I created my own package containing the new upstream version, which is now available in [my repository][60].

[10]: http://en.wikipedia.org/wiki/Victoria_Day
[20]: http://debtorrent.alioth.debian.org/
[30]: http://www.bittornado.com/
[35]: http://www.onlamp.com/pub/a/python/2001/05/17/docstrings.html
[40]: http://epydoc.sourceforge.net/
[45]: http://debtorrent.alioth.debian.org/api/
[50]: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=425193
[60]: http://debian.camrdale.org/

[[tag GoogleSoC]]

CVS Admin
ViewVC Help
Powered by ViewVC 1.0.5