I’ve been wanting for some time to update my wcgbrowser code to be python3 compatible, but I’ve been held back by the ambiguity surrounding the configobj library — in a nuthshell, the official project isn’t 3.x compatible, but there is a fork that is. Unfortunately the fork maintainer isn’t putting real effort into a release, and Debian won’t include it until they do.
So fed up with that, I got a wild idea last night to port the code to something more supported. I considered JSON and XML, but settled on YAML, since it seems to be reasonably hand-hackable, well supported, and handles about any data types I need.
I thought this would be a big deal, but surprisingly it only took about 20 minutes to get things working. I decided to keep going with my momentum by adding the remaining command-line configuration parameters to the config file and making sure the whole thing worked with python 3.
I also fixed some logic bugs in the process. Nice.
If anyone out there is actually using it, you can get the latest code on github. Naturally, the conversion to YAML will break any existing configuration; sorry in advance. To make up for it, I’ve fully commented the config file so it should be pretty simple to figure out how to port it over. Also, bear in mind that it’s now looking for a config file called “wcgbrowser.yaml”, not “wcgbrowser.conf”.