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
    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
    grabbedDay = now + timedelta(days=int(day))
    logger.info("Reading day " + grabbedDay.strftime("%d-%m-%Y"))
    epgstream = TvaStream('239.0.2.' + str(i), MCAST_PORT)

    epgstream.getfiles()
    for i in epgstream.files().keys():
        #    logger.info("Parsing "+i)
        epgparser = TvaParser(epgstream.files()[i])
        epgparser.parseepg(OBJ_XMLTV, channelparser.getchannelsdic())

# A standard grabber should print the xmltv file to the stdout
strFirstDay = now + timedelta(days=int(first_day))
strLastDay = now + timedelta(days=int(last_day))

ElementTree(OBJ_XMLTV).write(FILE_XML)
FILE_XML = OUTPUT_PATH + 'tv_grab_es_movistar_' + strFirstDay.strftime(
    "%Y-%m-%d") + '_' + strLastDay.strftime("%Y-%m-%d") + '.xml'
ElementTree(OBJ_XMLTV).write(FILE_XML)
FILE_XML = OUTPUT_PATH + 'tv_grab_es_movistar.xml'
ElementTree(OBJ_XMLTV).write(FILE_XML)

grabbingDuration = datetime.datetime.now() - now

logger.info("Grabbed " + str(len(OBJ_XMLTV.findall('channel'))) +
for package in TVPACKAGES:
  for channel in channelspackages[package].keys():
    clist[channel] = rawclist[channel]
    clist[channel]["order"] = channelspackages[package][channel]["order"]
  
channelsm3u = channelparser.channels2m3u(clist)
if os.path.isfile(FILE_M3U+"_client.m3u"):
      os.remove(FILE_M3U+"_client.m3u")
fM3u = open(FILE_M3U+"_client.m3u", 'w+')
fM3u.write(channelsm3u)
fM3u.close
    


OBJ_XMLTV = channelparser.channels2xmltv(OBJ_XMLTV,rawclist)

i=int(day)+132
logger.info("\nReading day " + str(i - 132) +"\n")
epgstream = TvaStream('239.0.2.'+str(i),MCAST_PORT)
epgstream.getfiles()
for i in epgstream.files().keys():
    logger.info("Parsing "+i)
    epgparser = TvaParser(epgstream.files()[i])
    epgparser.parseepg(OBJ_XMLTV,rawclist)

# A standard grabber should print the xmltv file to the stdout
ElementTree(OBJ_XMLTV).write(FILE_XML,encoding="UTF-8")
print "Grabbed "+ str(len(OBJ_XMLTV.findall('channel'))) +" channels and "+str(len(OBJ_XMLTV.findall('programme')))+" programmes"

exit()