Hi, I wrote a small python script that helps me keep my channels.conf tidy. The scripts assumes that I have (among others) channel groups ":HDTV", ":Deutschsprachig", ":(auch)Englisch", ":Verschiedenes", ":Astra Radio" and ":new channels" at the end. It moves all radio channels from all groups into ":Astra Radio". It moves channels that have a HD in their name from ":new channels" to ":HDTV". It moves channels that have geman sound from ":new channels" to ":Deutschsprachig". It moves channels that do not have german sound, but english sound from ":new channels" to ":(auch)Englisch". All other new channels are moved from ":new channels" to ":Verschiedenes". It ignores all non-"S19.2E" channels (see my other posting). Finally, all channel groups are sorted alphabetically. The script/program is a filter, so you can do things like python sort_channels.py <channels.conf>channels.new Cheers, Carsten.
import sys import string channel_info = {} sections = [] for line in sys.stdin: stripped_line = line.strip() if stripped_line.startswith(':'): sections.append(stripped_line) channel_info[sections[-1]] = [] else: channel_info[sections[-1]].append(stripped_line) radio_channels = [] for section in sections: tv_channels = [] for line in channel_info[section]: fields = line.split(':') if fields[3] == "S19.2E": if fields[5] == '0': # VPID = 0 = radio channel radio_channels.append(line) else: tv_channels.append(line) channel_info[section] = tv_channels channel_info[":Verschiedenes"] += channel_info[":Astra Radio"] channel_info[":Astra Radio"] = radio_channels for line in channel_info[":new channels"]: fields = line.split(':') if "HD" in fields[0]: channel_info[":HDTV"].append(line) elif "=deu" in fields[6]: channel_info[":Deutschsprachig"].append(line) elif "=eng" in fields[6]: channel_info[":(auch)Englisch"].append(line) else: channel_info[":Verschiedenes"].append(line) channel_info[":new channels"] = [] for section in sections: print section for line in sorted(channel_info[section], key=string.lower): print line
_______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr