A temporary PVR
I've written a basic PVR and search function for the fabulous get_iplayer app. It downloads episode data from https://atlas.metabroadcast.com/ and then triggers get_iplayer to record episodes using the episodes PID.

(For those who have previously downloaded this app, this is another update.)

The download link is http://bit.ly/1tqnNnY.

For Windows users:
1. Unzip the folder and save the ‘windows’ folder somewhere.
2. Run get_iplayer_pvr.exe for the PVR. (It will only allow one instance to run, so you can safely add it as a scheduled task.)
3. Run get_iplayer_search.exe to search the last 30 days of BBC programmes.

For OS X and Linux users:
1. Install Pyhon 2.7.8 https://www.python.org/download/releases/2.7.8/
2. Unzip ‘python_code’ folder somewhere.
3. Run get_iplayer_pvr.py for the PVR.
4. Run get_iplayer_search.py to search the last 30 days programmes.

Technical info:
The app files are stored in the folder 'python' inside the get_iplayer programme folder. All the data files are stored in a folder ‘python’ inside ‘.get_iplayer’.
channelsAudio is a JSON database of radio channels.
channelsVideo is a JSON database of TV channels.
episodesAudio is a JSON database of the last 30 days of radio.
episodesVideo is a JSON database of the last 30 days of TV.
episodeQueue is a list of the episodes scheduled to be recorded.
seriesToRecord is a list of your TV and radio series to record.

The PVR downloads all the episode data once a day – this takes 15 minutes. It updates the data every four hours and tries to download new episodes once an hour.