Before starting work on kdict itself (where 'kdict' is the name of the project mentioned in my last entry) I decided to clean up and extend wdict a bit.
wdict is my webbified front-end to Net::Dict, which means it's a completely trivial program. It was lacking an "advanced search" function to let one choose a dictionary file and/or search strategy, so I added that. Then I gave it a bit of a facelift and worked up a more dichromatic color scheme, which was then extended to the new site dict.collapsar.net (the new public home of wdict and future home of kdict).
That done I wrote a first whack at a conversion script, which involved approvimately one real line of code and some IO handling wrappers. I chose to dump to a static HTML-formatted file before attempting insertion into psql, and this was successful once I converted all the CRs into LFs.
(I thought Perl would gracefully handle any sort of common EOL as an EOL, but apparently on Unix EOL means \n and only \n. This is obviously the Right Thing, but I guess I've become spoiled by Perl being so freakin' smart and always being able to do the Situationally Right Thing even when it wasn't the Generally Right Thing.)
After that I turned to db layout and population of tables which will not be populated by the flatfile import (like the Parts Of Speech table). This was started before lunch and completed about two hours ago. Food, shopping, and gaming filled the interim.
Next up: DB dump and creation automation (because of testing and incomplete flatfile) and file importing (lather, rinse, repeat until not broken), Query script and public availability, New Entry script, Editing script. I guess there should be a DB sync thinger in there somewhere as well. This is one area where mysql beats psql hands down: tar, copy, untar, HUP and *bamf* new database. (P.S. I know there's dumps and replication and the like, so don't get on my case about that, psql people.)
Tomorrow may or may not see progress. Might visit friends. Then Monday, back to suck^Wwork.