def parse_day(n, xmltv, rawclist): i = n + 130 logger.info("Reading day " + str(i - 130)) epgstream = TvaStream("239.0.2." + str(i), config["mcast_port"]) epgstream.getfiles() for i in epgstream.files().keys(): logger.info("Parsing " + i) epgparser = TvaParser(epgstream.files()[i]) epgparser.parseepg(OBJ_XMLTV, rawclist) return
def parse_day(n, xmltv, rawclist): i = n + 130 logger.info("Reading day " + str(i - 130)) epgstream = TvaStream('239.0.2.' + str(i), config['mcast_port']) epgstream.getfiles() for i in epgstream.files().keys(): logger.info("Parsing " + i) epgparser = TvaParser(epgstream.files()[i]) epgparser.parseepg(OBJ_XMLTV, rawclist) return
ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') ch.setFormatter(formatter) fh.setFormatter(formatter) logger.addHandler(fh) logger.addHandler(ch) if len(sys.argv) == 2: IP = sys.argv[1] MCAST_PORT=3937 print "Download xml files into /tmp/: "+IP elif len(sys.argv) == 3: IP = sys.argv[1] MCAST_PORT = int(sys.argv[2]) else: print "Usage: "+ sys.argv[0]+' MULTICAST_GROUP [MULTICAST_PORT]' exit() logger.info("Getting xmls") stream = TvaStream(IP,MCAST_PORT) stream.getfiles() for i in stream.files().keys(): fM3u = open("/tmp/raw_"+IP+"_"+i+".xml", 'w+') fM3u.write(stream.files()[i]) fM3u.close exit()
json.dump(config, outfile) except: logger.info("Config file can not be saved") logger.info("Init. DEM=" + str(config['demarcation']) + " TVPACKS=" + str(config['tvpackages']) + " ENTRY_MCAST=" + str(config['mcast_grp_start']) + ":" + str(config['mcast_port'])) ENCODING_EPG = 'utf-8' ENCODING_SYS = sys.getdefaultencoding() sys.setdefaultencoding(ENCODING_EPG) # Main starts demarcationstream = TvaStream(config['mcast_grp_start'], config['mcast_port']) demarcationstream.getfiles() demarcationxml = demarcationstream.files()["1_0"] logger.info("Getting channels source for DEM: " + str(config['demarcation'])) MCAST_CHANNELS = TvaParser(demarcationxml).get_mcast_demarcationip( config['demarcation']) now = datetime.datetime.utcnow() OBJ_XMLTV = ET.Element( "tv", { "date": now.strftime("%Y%m%d%H%M%S +0000"), "source_info_url": "https://go.tv.movistar.es", "source_info_name": "Grabber for internal multicast of MovistarTV", "generator_info_name": "python-xml-parser",
OBJ_XMLTV = ET.Element( "tv", { "date": now.strftime("%Y%m%d%H%M%S"), "source_info_url": "https://go.tv.movistar.es", "source_info_name": "Grabber for internal multicast of MovistarTV", "generator_info_name": "python-xml-parser", "generator_info_url": "http://wiki.xmltv.org/index.php/XMLTVFormat" }) #OBJ_XMLTV = ET.Element("tv" , {"date":now.strftime("%Y%m%d%H%M%S")+" +0200"}) first_day = int(sys.argv[1]) last_day = int(sys.argv[2]) logger.info("Getting channels list") channelsstream = TvaStream(MCAST_CHANNELS, MCAST_PORT) channelsstream.getfiles() xmlchannels = channelsstream.files()["2_0"] channelparser = TvaParser(xmlchannels) OBJ_XMLTV = channelparser.channels2xmltv(OBJ_XMLTV) channelsm3u = channelparser.channels2m3u() if os.path.isfile(FILE_M3U): os.remove(FILE_M3U) fM3u = open(FILE_M3U, 'w+') fM3u.write(channelsm3u) fM3u.close for day in range(first_day, last_day): i = int(day) + 130
+ str(config["demarcation"]) + " TVPACKS=" + str(config["tvpackages"]) + " ENTRY_MCAST=" + str(config["mcast_grp_start"]) + ":" + str(config["mcast_port"]) ) ENCODING_EPG = "utf-8" ENCODING_SYS = sys.getdefaultencoding() sys.setdefaultencoding(ENCODING_EPG) # Main starts demarcationstream = TvaStream(config["mcast_grp_start"], config["mcast_port"]) demarcationstream.getfiles() demarcationxml = demarcationstream.files()["1_0"] logger.info("Getting channels source for DEM: " + str(config["demarcation"])) MCAST_CHANNELS = TvaParser(demarcationxml).get_mcast_demarcationip(config["demarcation"]) now = datetime.datetime.utcnow() OBJ_XMLTV = ET.Element( "tv", { "date": now.strftime("%Y%m%d%H%M%S +0000"), "source_info_url": "https://go.tv.movistar.es", "source_info_name": "Grabber for internal multicast of MovistarTV", "generator_info_name": "python-xml-parser", "generator_info_url": "http://wiki.xmltv.org/index.php/XMLTVFormat",
'src': u'http://some.star/icon.png', 'width': u'32'}], 'value': u'4/5'}, 'start': u'20030702000000 ADT', 'stop': u'20030702003000 ADT', 'sub-title': [(u'The Engagement', u'')], 'subtitles': [{'type': u'teletext', 'language': (u'English', u'')}], 'title': [(u'Seinfeld', u'')], 'url': [(u'http://www.nbc.com/')], 'video': {'colour': True, 'aspect': u'4:3', 'present': True, 'quality': 'standard'}}] # Main starts demarcationstream = TvaStream(MCAST_GRP_START,MCAST_PORT) demarcationstream.getfiles() demarcationxml = demarcationstream.files()["1_0"] logger.info("Getting channels source for DEM: "+str(DEMARCATION)) MCAST_CHANNELS = TvaParser(demarcationxml).get_mcast_demarcationip(DEMARCATION) logger.info("Getting channels list from: "+MCAST_CHANNELS) now = datetime.datetime.now() OBJ_XMLTV = ET.Element("tv" , {"date":now.strftime("%Y%m%d%H%M%S"),"source_info_url":"https://go.tv.movistar.es","source_info_name":"Grabber for internal multicast of MovistarTV","generator_info_name":"python-xml-parser","generator_info_url":"http://wiki.xmltv.org/index.php/XMLTVFormat"}) #OBJ_XMLTV = ET.Element("tv" , {"date":now.strftime("%Y%m%d%H%M%S")+" +0200"}) channelsstream = TvaStream(MCAST_CHANNELS,MCAST_PORT) channelsstream.getfiles() xmlchannels = channelsstream.files()["2_0"] xmlchannelspackages = channelsstream.files()["5_0"]