I posted something on Thursday, but here’s “the official” weekly report.
I spent last week mainly on implementing SisterDiff and it’s completed now. First I had to familiarize myself with Moin’s Action interface. Then I thought I could maybe use the functions from an other action, LikePages. But after some testing, that didn’t seem to be a reasonable thing to do.
So now SisterDiff is “stand-alone” and actually cleaner that way. I have to say I especially liked RootPage.getPageList() while doing SisterDiff. It has nice mechanisms to filter which pages to list, so that I don’t have to do the filtering in the Action. Though passing the filter function to getPageList() meant that I had to revise on regular expressions and the way they are done in Python.
When validating SisterDiff’s HTML code, I actually found a bug on Moin’s ActionBase class that I fixed. I also spent about one day on making my code PEP8 compatible and fixing some bugs I found in that process.
Friday and a couple of hours on the weekend were spent on planning the RPM handling. I took a look at rpm-python, which is nice, but it doesn’t have the possibility of extracting single files from an RPM package. So I did some tests on rpm2cpio. With cpio it is possible to extract single files, so that’s what I’ll use. I already have some RPM handling code done, but it’s still in early stages.
Then something about the schedule: According to my original schedule I should have had phase 1 complete by yesterday, but “rpm mass importing” and info page importing are still missing. So I have to use some of the “slip week” I had scheduled to finish phase 1. Hopefully I’ll get to start phase 2 by the end of this week, though.
Info page importing
This is a problem I still haven’t solved. I took a look at CVS’s source code (since that is one of the non-GNU packages that have Info pages) and it does actually have the Texinfo sources in it. And I could use makeinfo –xml to make DocBook XML from that. But the Texinfo sources are not in the binary RPM. So it seems I need to use RPM repositories for man page importing and CVS repositories for Info page importing. Interesting…
Leave a Reply