Hi, I want to give a small update on the recordserver in cvs, a small request to Rob and a small thing to think about.
Let's beginn with the good news. The recordserver on my machine can now: add/delete/list recordings and add/list/update favorites. A favorite is added to the recordings based on the pyepg database. When you delete a recording based on a favorite, it won't get reinserted again by an update (Oops, that reminds me: you can't add it ever again, need to fix that). The communication is based on mbus and very fast. So far so good. Now a problem. Rob: that's were you come in :-) How to identify a channel? My TV.xml file (auto generated) has the following settings for one channel: id is prosieben.de, display name is PRO 7 and the dvb name is ProSieben. I want to name it Pro7. (BTW, 7 == sieben in Germany). So we have 4 names for the same channel plus a freqence for analog which is similar to a name. The egp databse uses the xmltv id as key (here prosieben.de). But the recordserver has no way to get the real channel name, he doesn't know if there is xmltv or not. So I suggest we use the display name I want to see as db key (here Pro7, but it can also contain spaces). Than we use the following variables: XMLTV_NAMES = { 'prosieben.de': 'Pro7' } The pyepg should do the following: use the xmltv key to parse the file. Than get the display name. If there is a key in XMLTV_NAMES matching the id, take it. If not, use the display name from TV.xml. Now, the db doesn't have to know about prosieben.de at all. When you record, you record on your display name (Pro7). Now the recordserver needs to know how to record Pro7. For that we could have DVB_MAPPING = { 'Pro7': 'ProSieben' } The dvb plugin will try to find the name in DVB_MAPPING. If found, use it. If not, try our display name. And we need the same for analog tv FREQ_MAPPING = {'Pro7': 8 } 3 variables sound like too much to config for the user. But it is the easiest way. And having fallbacks makes it much easier. And Freevo can guess something from the xmltv file like it is doing now. And we could add the country support. I will write a file for Germany having the following informations: XMLTV_GRAPPER XMLTV_NAME DVB_MAPPING So the user only needs to set country=germany and dvb is working out of the box. Rob: can you change pyegp to use the display name as key? It will be much faster if you do it since you wrote it (and know SQL). Dischi -- FATAL ERROR! SYSTEM HALTED! - Press any key to do nothing...
pgpJFbdPLrP5k.pgp
Description: PGP signature