After having used it for quite a while, I feel it is time to announce the release of etvdb.
etvdb is a high-level C library frontend to The TVDB. It is based on Eina and Ecore of the Enlightenment Foundation Libraries and easy to use in EFL apps, but can just as easily be used in other programs. It does not depend on a mainloop. Additionally it uses libcurl, so the dependencies are quite small.
Right now it only has a synchronous API, but I do plan to add a asynchronous one at some point in the future. This means, that you'll have to run it in a thread for interactive applications for now.
etvdb command line tool
In addition to the library, there is etvdb_cli, which is basically a command line frontend to The TVDB based on etvdb. It has currently 3 basic usage modes:
In this mode you can get a CSV-like output that you can write to a file. This is the default mode.
In query mode you can query single properties from TV show episodes. For example:
etvdb -n Futurama -s 1 -e 1 -q ename Space Pilot 3000
In this mode you can pass files to etvdb and they will be renamed. It supports templates so you can rename it however you'd like. It can run without user input (in scripts e.g.) or interactive.
Try it out, it is easy to use. Just run etvdb --help to see all the options. It currently only depends on libetvdb itself. You can get the current 0.1.0 release from my Github Repo.
Gentoo users can get ebuilds from my Gentoo Overlay.
Check it out and let me know what you think, patches and comments welcome!