from enum import Enum class CITY(Enum): TOKYO1 = 12 TOKYO2 = 221 TOKYO3 = 222 OSAKA1 = 28 OSAKA2 = 40 OSAKA3 = 42 OSAKA4 = 44 OSAKA5 = 30 NARA = 10044 KYOTO = 46 HYOGO = 106 WAKAYAMA = 25 YAMAGUCHI = 39 FUKUOKA = 37 KUMAMOTO = 227 HOKKAIDO = 1 MIYAGI = 52 GUNMA = 13 IBARAKI = 2 CHIBA1 = 3 CHIBA2 = 217 CHIBA3 = 219 CHIBA4 = 300 KANAGAWA1 = 101 KANAGAWA2 = 201 SAITAMA1 = 3 SAITAMA2 = 214 class XMLTV: def __init__(self): self.channels = [] self.programmes = [] def add_channel(self, channel, display_name, icon): if ('{}\n' .format(channel, display_name, icon) not in self.channels): self.channels.append('' '{}' '' '\n'.format(channel, display_name, icon)) def write_channels(self): for c in self.channels: open('data/channels.xml', mode='a', encoding='UTF-8').write(c) def add_programme(self, channel, title, desc, start, stop, category, attr, icon): # TODO: add `duo` attribute (bilingual) programme = ''.format(start, stop, channel) programme += '{}'.format(title) programme += '{}'.format(desc) programme += '{}'.format(category) if icon: programme += ''.format(icon) if '5.1' in attr: programme += '' if 'stereo' in attr: programme += '' if 'mono' in attr: programme += '' if 'hd' in attr: programme += '' if '4k' in attr: programme += '' if 'cp1' in attr: programme += '' programme += '\n' self.programmes.append(programme) def create(self): with open('data/epg.xml', mode='w', encoding='UTF-8') as epg: epg.write('\n') epg.write('\n') epg.write('\n') for channel in self.channels: epg.write(f'{channel}\n') for prg in self.programmes: epg.write(prg) epg.write('') def _show_channels(self): print(self.channels) def _show_programmes(self): print(self.programmes)