コード例 #1
0
def busqueda(params, url, category):
    logger.info("busqueda")
    tecleado = ""
    keyboard = xbmc.Keyboard('')
    keyboard.doModal()
    if (keyboard.isConfirmed()):
        tecleado = keyboard.getText()
        if len(tecleado) <= 0:
            return

    tecleado = tecleado.replace(" ", "+")
    data = scrapertools.cachePagePost(
        "http://www.divxonline.info/buscador.html",
        'texto=' + tecleado + '&categoria=0&tipobusqueda=1&Buscador=Buscar')

    #logger.info(data)
    data = data[data.find('Se han encontrado un total de'):]

    #<li><a href="/pelicula/306/100-chicas-2000/">100 chicas (2000)</a></li>
    patronvideos = '<li><a href="(.+?)">(.+?)</a></li>'
    matches = re.compile(patronvideos, re.DOTALL).findall(data)
    if DEBUG:
        scrapertools.printMatches(matches)

    for match in matches:
        xbmctools.addnewfolder(CHANNELNAME, "listmirrors", category, match[1],
                               'http://www.divxonline.info' + match[0],
                               'scrapedthumbnail', 'scrapedplot')

    xbmcplugin.setPluginCategory(handle=int(sys.argv[1]), category=category)
    xbmcplugin.addSortMethod(handle=int(sys.argv[1]),
                             sortMethod=xbmcplugin.SORT_METHOD_NONE)
    xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)
コード例 #2
0
def mainlist(params,url,category):
	logger.info("[rtvc.py] mainlist")

	# Empieza con el listado sólo de videos
	url="http://www.rtvc.es/television/emisiones.aspx"
	data="ctl00$content$ScriptManager1=ctl00$content$ScriptManager1|ctl00$content$imgVideos&__EVENTTARGET=&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=%2FwEPDwULLTEzNjQ1NDg2NTgPZBYCZg9kFgICAxBkZBYEZg9kFgYCAQ8WAh4Fc3R5bGUFDWRpc3BsYXk6bm9uZTtkAgMPFgIfAAUPZGlzcGxheTppbmxpbmU7ZAIFDxYCHwAFDWRpc3BsYXk6bm9uZTtkAgIPZBYOAgMPDxYCHghJbWFnZVVybAUqL2ltYWdlcy93ZWIvYnRuX2VtaXNpb25lc190b2RvX2NoZWNrZWQucG5nZGQCBQ8PFgIfAQUjL2ltYWdlcy93ZWIvYnRuX2VtaXNpb25lc192aWRlby5wbmdkZAIHDw8WAh8BBSMvaW1hZ2VzL3dlYi9idG5fZW1pc2lvbmVzX2F1ZGlvLnBuZ2RkAgkPDxYCHwEFIy9pbWFnZXMvd2ViL2J0bl9lbWlzaW9uZXNfZm90b3MucG5nZGQCCw8PFgIfAQUhL2ltYWdlcy93ZWIvYnRuX2VtaXNpb25lc19wZGYucG5nZGQCDQ9kFgJmD2QWAgIBDxAPFgYeDURhdGFUZXh0RmllbGQFBXZhbHVlHg5EYXRhVmFsdWVGaWVsZAUDa2V5HgtfIURhdGFCb3VuZGdkEBUKFVRvZGFzIGxhcyBjYXRlZ29yw61hcwxJbmZvcm1hdGl2b3MJTWFnYXppbmUgCERlcG9ydGVzB011c2ljYWwFSHVtb3IIRm9sY2xvcmUIQ3VsdHVyYWwFT3Ryb3MIQ2FybmF2YWwVCgEwATEBNQE2AjExAjI1AjI4BDUwMjYENTA0NgQ1MDQ5FCsDCmdnZ2dnZ2dnZ2cWAWZkAg8PZBYCZg9kFgICAg88KwAJAQAPFgQeCERhdGFLZXlzFgAeC18hSXRlbUNvdW50AjZkFmxmD2QWAgIBDxUFMi90ZWxldmlzaW9uL2VtaXNpb24vYm9sZXTDrW4taW5mb3JtYXRpdm8tNzk2MC5hc3B4FEJvbGV0w61uIGluZm9ybWF0aXZvF0JvbGV0w61uIGluZm9ybWF0aXZvLi4uDEluZm9ybWF0aXZvcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNzk2MC5hc3B4ZAIBD2QWAgIBDxUFPS90ZWxldmlzaW9uL2VtaXNpb24vYnVlbm9zLWTDrWFzLWNhbmFyaWFzLTHCqi1wYXJ0ZS03NDkzLmFzcHggQnVlbm9zIGTDrWFzLCBDYW5hcmlhcyAxwqogcGFydGUZQnVlbm9zIGTDrWFzLCBDYW5hcmlhcy4uLgxJbmZvcm1hdGl2b3MiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzc0OTMuYXNweGQCAg9kFgICAQ8VBT0vdGVsZXZpc2lvbi9lbWlzaW9uL2J1ZW5vcy1kw61hcy1jYW5hcmlhcy0ywqotcGFydGUtNzgwMC5hc3B4IEJ1ZW5vcyBkw61hcywgQ2FuYXJpYXMgMsKqIHBhcnRlGUJ1ZW5vcyBkw61hcywgQ2FuYXJpYXMuLi4MSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83ODAwLmFzcHhkAgMPZBYCAgEPFQUzL3RlbGV2aXNpb24vZW1pc2lvbi9idWVub3MtZMOtYXMtY2FuYXJpYXMtMTEyNi5hc3B4FkJ1ZW5vcyBkw61hcywgQ2FuYXJpYXMZQnVlbm9zIGTDrWFzLCBDYW5hcmlhcy4uLgxJbmZvcm1hdGl2b3MiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzExMjYuYXNweGQCBA9kFgICAQ8VBS4vdGVsZXZpc2lvbi9lbWlzaW9uL2NhbmFyaWFzLWRpcmVjdG8tMTEwNS5hc3B4EENhbmFyaWFzIERpcmVjdG8TQ2FuYXJpYXMgRGlyZWN0by4uLglNYWdhemluZSAiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzExMDUuYXNweGQCBQ9kFgICAQ8VBTwvdGVsZXZpc2lvbi9lbWlzaW9uL2NhbmFyaWFzLWVuLXB1bnRvLTHCqi1lZGljacOzbi03NDk1LmFzcHgeQ2FuYXJpYXMgZW4gUHVudG8gMcKqIGVkaWNpw7NuFENhbmFyaWFzIGVuIFB1bnRvLi4uDEluZm9ybWF0aXZvcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNzQ5NS5hc3B4ZAIGD2QWAgIBDxUFPC90ZWxldmlzaW9uL2VtaXNpb24vY2FuYXJpYXMtZW4tcHVudG8tMsKqLWVkaWNpw7NuLTc0OTYuYXNweB5DYW5hcmlhcyBlbiBQdW50byAywqogZWRpY2nDs24UQ2FuYXJpYXMgZW4gUHVudG8uLi4MSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83NDk2LmFzcHhkAgcPZBYCAgEPFQUqL3RlbGV2aXNpb24vZW1pc2lvbi9lbC1kZXBvcnRpdm8tNzQ5Ny5hc3B4DEVsIERlcG9ydGl2bwxFbCBEZXBvcnRpdm8IRGVwb3J0ZXMiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzc0OTcuYXNweGQCCA9kFgICAQ8VBS4vdGVsZXZpc2lvbi9lbWlzaW9uL2VsLWd1c3RvLWVzLW3DrW8tODg0Mi5hc3B4EEVsIGd1c3RvIGVzIG3DrW8TRWwgZ3VzdG8gZXMgbcOtby4uLglNYWdhemluZSAiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzg4NDIuYXNweGQCCQ9kFgICAQ8VBVMvdGVsZXZpc2lvbi9lbWlzaW9uL2lpLWZhc2UtbXVyZ2FzLWNhcm5hdmFsLWRlLWxhcy1wYWxtYXMtZGUtZ3Jhbi1jYW5hcmlhLTc5MTkuYXNweDVJSSBGYXNlIE11cmdhcyBDYXJuYXZhbCBkZSBMYXMgUGFsbWFzIGRlIEdyYW4gQ2FuYXJpYRFJSSBGYXNlIE11cmdhcy4uLghDYXJuYXZhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNzkxOS5hc3B4ZAIKD2QWAgIBDxUFKC90ZWxldmlzaW9uL2VtaXNpb24vbGEtYWxwaXNwYS04Njc1LmFzcHgKTGEgYWxwaXNwYQpMYSBhbHBpc3BhCU1hZ2F6aW5lICIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODY3NS5hc3B4ZAILD2QWAgIBDxUFKy90ZWxldmlzaW9uL2VtaXNpb24vbnVlc3RyYS1nZW50ZS01MjY4LmFzcHgNTnVlc3RyYSBnZW50ZQ1OdWVzdHJhIGdlbnRlCU1hZ2F6aW5lICIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNTI2OC5hc3B4ZAIMD2QWAgIBDxUFUC90ZWxldmlzaW9uL2VtaXNpb24vcHJpbWVyYS1mYXNlLWRlLW11cmdhcy1pbmZhbnRpbGVzLWRlLXRlbmVyaWZlLTIwMTAtODk3Mi5hc3B4MlByaW1lcmEgRmFzZSBkZSBNdXJnYXMgSW5mYW50aWxlcyBkZSBUZW5lcmlmZSAyMDEwElByaW1lcmEgRmFzZSBkZS4uLghDYXJuYXZhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODk3Mi5hc3B4ZAIND2QWAgIBDxUFLi90ZWxldmlzaW9uL2VtaXNpb24vcm9zY2FzLXktY290dWZhcy03NzkyLmFzcHgQUm9zY2FzIHkgY290dWZhcxNSb3NjYXMgeSBjb3R1ZmFzLi4uCU1hZ2F6aW5lICIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNzc5Mi5hc3B4ZAIOD2QWAgIBDxUFKi90ZWxldmlzaW9uL2VtaXNpb24vdGVsZW5vdGljaWFzLTEtNDYuYXNweA5UZWxlbm90aWNpYXMgMRFUZWxlbm90aWNpYXMgMS4uLgxJbmZvcm1hdGl2b3MgL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzQ2LmFzcHhkAg8PZBYCAgEPFQUsL3RlbGV2aXNpb24vZW1pc2lvbi90ZWxlbm90aWNpYXMtMi0xOTM3LmFzcHgOVGVsZW5vdGljaWFzIDIRVGVsZW5vdGljaWFzIDIuLi4MSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS8xOTM3LmFzcHhkAhAPZBYCAgEPFQUrL3RlbGV2aXNpb24vZW1pc2lvbi92aXZhLW1pLWdlbnRlLTg1MjAuYXNweA1WaXZhIG1pIGdlbnRlDVZpdmEgbWkgZ2VudGUHTXVzaWNhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODUyMC5hc3B4ZAIRD2QWAgIBDxUFQC90ZWxldmlzaW9uL2VtaXNpb24vcHJlc2VudGFjacOzbi1jYW5kaWRhdGFzLXJlaW5hLXRuZi03ODgzLmFzcHgiUHJlc2VudGFjacOzbiBDYW5kaWRhdGFzIFJlaW5hIFRORhtQcmVzZW50YWNpw7NuIENhbmRpZGF0YXMuLi4IQ2FybmF2YWwiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzc4ODMuYXNweGQCEg9kFgICAQ8VBVAvdGVsZXZpc2lvbi9lbWlzaW9uL3NlZ3VuZGEtZmFzZS1kZS1tdXJnYXMtaW5mYW50aWxlcy1kZS10ZW5lcmlmZS0yMDEwLTg5NzguYXNweDJTZWd1bmRhIEZhc2UgZGUgTXVyZ2FzIEluZmFudGlsZXMgZGUgVGVuZXJpZmUgMjAxMBJTZWd1bmRhIEZhc2UgZGUuLi4IQ2FybmF2YWwiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzg5NzguYXNweGQCEw9kFgICAQ8VBVYvdGVsZXZpc2lvbi9lbWlzaW9uL2ktZmFzZS1tdXJnYXMtZGVsLWNhcm5hdmFsLWRlLWxhcy1wYWxtYXMtZGUtZ3Jhbi1jYW5hcmlhLTc5MTcuYXNweDhJIEZhc2UgTXVyZ2FzIGRlbCBDYXJuYXZhbCBkZSBMYXMgUGFsbWFzIGRlIEdyYW4gQ2FuYXJpYRBJIEZhc2UgTXVyZ2FzLi4uCENhcm5hdmFsIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83OTE3LmFzcHhkAhQPZBYCAgEPFQVML3RlbGV2aXNpb24vZW1pc2lvbi9lbC1hbsOhbGlzaXMtZGUtY2FuYXJpYXMtZW4tcHVudG8tMsKqLWVkaWNpw7NuLTg2OTQuYXNweC5FbCBBbsOhbGlzaXMgZGUgQ2FuYXJpYXMgZW4gcHVudG8gMsKqIGVkaWNpw7NuEkVsIEFuw6FsaXNpcyBkZS4uLgxJbmZvcm1hdGl2b3MiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzg2OTQuYXNweGQCFQ9kFgICAQ8VBSUvdGVsZXZpc2lvbi9lbWlzaW9uL2xhLWdhbGEtNzE3My5hc3B4B0xhIEdhbGEHTGEgR2FsYQdNdXNpY2FsIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83MTczLmFzcHhkAhYPZBYCAgEPFQUkL3RlbGV2aXNpb24vZW1pc2lvbi9yZXBvcjctNzY4Ni5hc3B4BlJlcG9yNwZSZXBvcjcMSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83Njg2LmFzcHhkAhcPZBYCAgEPFQU4L3RlbGV2aXNpb24vZW1pc2lvbi9jcsOzbmljYXMtZGUtc2FuLWJvcm9uZMOzbi03ODAxLmFzcHgaQ3LDs25pY2FzIGRlIFNhbiBCb3JvbmTDs24TQ3LDs25pY2FzIGRlIFNhbi4uLglNYWdhemluZSAiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzc4MDEuYXNweGQCGA9kFgICAQ8VBTovdGVsZXZpc2lvbi9lbWlzaW9uL2dhbGEtZHJhZy1kZS1tYXNwYWxvbWFzLTIwMDYtNjY4My5hc3B4HEdhbGEgRHJhZyBkZSBNYXNwYWxvbWFzIDIwMDYaR2FsYSBEcmFnIGRlIE1hc3BhbG9tYXMuLi4FT3Ryb3MiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzY2ODMuYXNweGQCGQ9kFgICAQ8VBTIvdGVsZXZpc2lvbi9lbWlzaW9uL2dhbGF4aWFzLXktY2VudGVsbGFzLTc3OTguYXNweBRHYWxheGlhcyB5IENlbnRlbGxhcxdHYWxheGlhcyB5IENlbnRlbGxhcy4uLglNYWdhemluZSAiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzc3OTguYXNweGQCGg9kFgICAQ8VBSsvdGVsZXZpc2lvbi9lbWlzaW9uL2Fob3JhLcOhZnJpY2EtODE0OC5hc3B4DUFob3JhIMOBZnJpY2ENQWhvcmEgw4FmcmljYQlNYWdhemluZSAiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzgxNDguYXNweGQCGw9kFgICAQ8VBSwvdGVsZXZpc2lvbi9lbWlzaW9uL2NhbmFyaWFzLXJ1aWRvLTc4MTAuYXNweA5DYW5hcmlhcyBSdWlkbxFDYW5hcmlhcyBSdWlkby4uLgdNdXNpY2FsIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83ODEwLmFzcHhkAhwPZBYCAgEPFQUzL3RlbGV2aXNpb24vZW1pc2lvbi9oaXN0b3JpYXMtZGUtY2FuYXJpYXMtODA3OC5hc3B4FUhpc3RvcmlhcyBkZSBDYW5hcmlhcxhIaXN0b3JpYXMgZGUgQ2FuYXJpYXMuLi4IQ3VsdHVyYWwiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzgwNzguYXNweGQCHQ9kFgICAQ8VBSovdGVsZXZpc2lvbi9lbWlzaW9uL2xhLXJldm9sZWFkYS04MTE3LmFzcHgMTGEgUmV2b2xlYWRhDExhIFJldm9sZWFkYQhEZXBvcnRlcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODExNy5hc3B4ZAIeD2QWAgIBDxUFKy90ZWxldmlzaW9uL2VtaXNpb24vbWFyLWRlLWNhbG1hcy03ODA5LmFzcHgNTWFyIGRlIGNhbG1hcw1NYXIgZGUgY2FsbWFzCEZvbGNsb3JlIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83ODA5LmFzcHhkAh8PZBYCAgEPFQUqL3RlbGV2aXNpb24vZW1pc2lvbi9yZXBvcjctcmFkaW8tODY4NC5hc3B4DFJlcG9yNyBSYWRpbwxSZXBvcjcgUmFkaW8MSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS84Njg0LmFzcHhkAiAPZBYCAgEPFQVLL3RlbGV2aXNpb24vZW1pc2lvbi90ZXJ0dWxpYS1kZS1wZXJpb2Rpc3Rhcy1idWVub3MtZMOtYXMtY2FuYXJpYXMtODk2MC5hc3B4LVRlcnR1bGlhIGRlIHBlcmlvZGlzdGFzIEJ1ZW5vcyBEw61hcyBDYW5hcmlhcxpUZXJ0dWxpYSBkZSBwZXJpb2Rpc3Rhcy4uLgxJbmZvcm1hdGl2b3MiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzg5NjAuYXNweGQCIQ9kFgICAQ8VBVMvdGVsZXZpc2lvbi9lbWlzaW9uL2ZpbmFsLWNvbmN1cnNvLW11cmdhcy1hZHVsdGFzLWRlLXMtYy1kZS10ZW5lcmlmZS0yMDA5LTY2NTUuYXNweDZGaW5hbCBDb25jdXJzbyBNdXJnYXMgQWR1bHRhcyBkZSBTLkMuIGRlIFRlbmVyaWZlIDIwMDkRRmluYWwgQ29uY3Vyc28uLi4IQ2FybmF2YWwiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzY2NTUuYXNweGQCIg9kFgICAQ8VBTIvdGVsZXZpc2lvbi9lbWlzaW9uL2dhbGEtZHJhZy1xdWVlbi0yMDA4LTU2NjQuYXNweBRHYWxhIERyYWcgUXVlZW4gMjAwOBJHYWxhIERyYWcgUXVlZW4uLi4FT3Ryb3MiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzU2NjQuYXNweGQCIw9kFgICAQ8VBTovdGVsZXZpc2lvbi9lbWlzaW9uL2dhbGEtcmVpbmEtYWR1bHRhLWRlLXRmLTIwMDktNjcwMC5hc3B4HUdhbGEgUmVpbmEgQWR1bHRhIGRlIFRmLiAyMDA5FEdhbGEgUmVpbmEgQWR1bHRhLi4uBU90cm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS82NzAwLmFzcHhkAiQPZBYCAgEPFQUrL3RlbGV2aXNpb24vZW1pc2lvbi9sdWNoYS1jYW5hcmlhLTcwOTguYXNweA1MdWNoYSBDYW5hcmlhDUx1Y2hhIENhbmFyaWEIRGVwb3J0ZXMiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzcwOTguYXNweGQCJQ9kFgICAQ8VBScvdGVsZXZpc2lvbi9lbWlzaW9uL2VsLWVudml0ZS03ODAyLmFzcHgJRWwgZW52aXRlCUVsIGVudml0ZQxJbmZvcm1hdGl2b3MiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzc4MDIuYXNweGQCJg9kFgICAQ8VBUAvdGVsZXZpc2lvbi9lbWlzaW9uL2ZpbmFsLWRlLW11cmdhcy1hZHVsdGFzLWRlLWxwLTIwMDgtNjY3OS5hc3B4IkZpbmFsIGRlIE11cmdhcyBBZHVsdGFzIGRlIExQIDIwMDgSRmluYWwgZGUgTXVyZ2FzLi4uCENhcm5hdmFsIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS82Njc5LmFzcHhkAicPZBYCAgEPFQU6L3RlbGV2aXNpb24vZW1pc2lvbi9nYWxhLXJlaW5hLWFkdWx0YS1kZS1scC0yMDA4LTY2NDkuYXNweBxHYWxhIFJlaW5hIEFkdWx0YSBkZSBMUCAyMDA4FEdhbGEgUmVpbmEgQWR1bHRhLi4uBU90cm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS82NjQ5LmFzcHhkAigPZBYCAgEPFQVGL3RlbGV2aXNpb24vZW1pc2lvbi9maW5hbC1kZS1tdXJnYXMtYWR1bHRhcy1kZS10ZW5lcmlmZS0yMDA4LTY2ODAuYXNweChGaW5hbCBkZSBNdXJnYXMgQWR1bHRhcyBkZSBUZW5lcmlmZSAyMDA4EkZpbmFsIGRlIE11cmdhcy4uLghDYXJuYXZhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNjY4MC5hc3B4ZAIpD2QWAgIBDxUFLC90ZWxldmlzaW9uL2VtaXNpb24vZW4tY2xhdmUtZGUtamEtMzUwNi5hc3B4DkVuIGNsYXZlIGRlIEphEUVuIGNsYXZlIGRlIEphLi4uBUh1bW9yIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS8zNTA2LmFzcHhkAioPZBYCAgEPFQUxL3RlbGV2aXNpb24vZW1pc2lvbi9kYW5jZS1pbi1jYXN0ZWxsYW5vLTg2ODMuYXNweBNEYW5jZSBpbiBDYXN0ZWxsYW5vFkRhbmNlIGluIENhc3RlbGxhbm8uLi4HTXVzaWNhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODY4My5hc3B4ZAIrD2QWAgIBDxUFSy90ZWxldmlzaW9uL2VtaXNpb24vZ2FsYS1yZWluYS1kZS1sYXMtcGFsbWFzLWctYy0yMDA3LXJlZGlmdXNpw7NuLTU2NDUuYXNweDBHYWxhIFJlaW5hIGRlIExhcyBQYWxtYXMgRy5DLiAyMDA3IChyZWRpZnVzacOzbikQR2FsYSBSZWluYSBkZS4uLghDYXJuYXZhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNTY0NS5hc3B4ZAIsD2QWAgIBDxUFMS90ZWxldmlzaW9uL2VtaXNpb24vbGEtYm9kZWdhLWRlLWp1bGnDoW4tODE3LmFzcHgUTGEgYm9kZWdhIGRlIEp1bGnDoW4XTGEgYm9kZWdhIGRlIEp1bGnDoW4uLi4HTXVzaWNhbCEvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODE3LmFzcHhkAi0PZBYCAgEPFQU2L3RlbGV2aXNpb24vZW1pc2lvbi9jYW5jacOzbi1kZS1sYS1yaXNhLTIwMDktODA2MC5hc3B4GENhbmNpw7NuIGRlIGxhIFJpc2EgMjAwORFDYW5jacOzbiBkZSBsYS4uLgVPdHJvcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODA2MC5hc3B4ZAIuD2QWAgIBDxUFLS90ZWxldmlzaW9uL2VtaXNpb24vY8OzZGlnby1hYmllcnRvLTc0NzIuYXNweA9Dw7NkaWdvIGFiaWVydG8SQ8OzZGlnbyBhYmllcnRvLi4uCU1hZ2F6aW5lICIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNzQ3Mi5hc3B4ZAIvD2QWAgIBDxUFTS90ZWxldmlzaW9uL2VtaXNpb24vbWVuc2FqZS1kZWwtcHJlc2lkZW50ZS1kZWwtZ29iaWVybm8tZGUtY2FuYXJpYXMtODg1Mi5hc3B4L01lbnNhamUgZGVsIHByZXNpZGVudGUgZGVsIEdvYmllcm5vIGRlIENhbmFyaWFzGU1lbnNhamUgZGVsIHByZXNpZGVudGUuLi4MSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS84ODUyLmFzcHhkAjAPZBYCAgEPFQUqL3RlbGV2aXNpb24vZW1pc2lvbi90ZWxlbm90aWNpYXMtMy05MC5hc3B4DlRlbGVub3RpY2lhcyAzEVRlbGVub3RpY2lhcyAzLi4uDEluZm9ybWF0aXZvcyAvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvOTAuYXNweGQCMQ9kFgICAQ8VBSwvdGVsZXZpc2lvbi9lbWlzaW9uL2VzcGVjaWFsLXdvbWFkLTg5MDAuYXNweA5Fc3BlY2lhbCBXb21hZBFFc3BlY2lhbCBXb21hZC4uLgdNdXNpY2FsIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS84OTAwLmFzcHhkAjIPZBYCAgEPFQU7L3RlbGV2aXNpb24vZW1pc2lvbi9yZXBvcjctZXNwZWNpYWwtcmVzdW1lbi1hbnVhbC04ODQwLmFzcHgdUmVwb3I3IEVzcGVjaWFsIFJlc3VtZW4gQW51YWwSUmVwb3I3IEVzcGVjaWFsLi4uDEluZm9ybWF0aXZvcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODg0MC5hc3B4ZAIzD2QWAgIBDxUFRi90ZWxldmlzaW9uL2VtaXNpb24vdmlzaXRhcy1lc2NvbGFyZXMtY2VudHJvcy1kZS1wcm9kdWNjacOzbi04ODQ4LmFzcHgoVmlzaXRhcyBlc2NvbGFyZXMgY2VudHJvcyBkZSBwcm9kdWNjacOzbhRWaXNpdGFzIGVzY29sYXJlcy4uLgVPdHJvcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODg0OC5hc3B4ZAI0D2QWAgIBDxUFKy90ZWxldmlzaW9uL2VtaXNpb24vem9uYS1tb3Rvci10di04NDUzLmFzcHgNWm9uYSBNb3RvciBUVg1ab25hIE1vdG9yIFRWCERlcG9ydGVzIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS84NDUzLmFzcHhkAjUPZBYCAgEPFQUkL3RlbGV2aXNpb24vZW1pc2lvbi9wcm9tb3MtODQzNi5hc3B4BlByb21vcwZQcm9tb3MFT3Ryb3MiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzg0MzYuYXNweGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgcFHGN0bDAwJGxvZ2luYnV0dG9ucyRidG5FbnZpYXIFHmN0bDAwJGxvZ2luYnV0dG9ucyRjaGJSZWNvcmRhcgUVY3RsMDAkY29udGVudCRpbWdUb2RvBRdjdGwwMCRjb250ZW50JGltZ1ZpZGVvcwUWY3RsMDAkY29udGVudCRpbWdBdWRpbwUWY3RsMDAkY29udGVudCRpbWdGb3RvcwUUY3RsMDAkY29udGVudCRpbWdQREY%3D&ctl00$loginbuttons$txtUsuario=&ctl00$loginbuttons$txtPassword=&ctl00$content$ddlEmisionesCategoria=0&ctl00$content$typeselected=todo&ctl00$content$imgVideos.x=49&ctl00$content$imgVideos.y=9"
	
	# Descarga la página
	data = scrapertools.cachePagePost(url,data)
	#logger.info(data)

	# Extrae las categorías de vídeos
	patron  = '<select name="ctl00$content$ddlEmisionesCategoria"[^>]+>(.*?)</select>'
	matches = re.compile(patron,re.DOTALL).findall(data)
	if len(matches)>0:
		data = matches[0]

	patron  = '<option value="([^"]+)">([^<]+)</option>'
	matches = re.compile(patron,re.DOTALL).findall(data)

	for match in matches:
		# Atributos del vídeo
		scrapedtitle = match[1].strip()
		scrapedurl = match[0]
		scrapedthumbnail = ""
		scrapedplot = ""
		if (DEBUG): logger.info("title=["+scrapedtitle+"], url=["+scrapedurl+"], thumbnail=["+scrapedthumbnail+"]")

		# Añade al listado de XBMC
		xbmctools.addnewfolder( CHANNELCODE , "programlist" , CHANNELNAME , scrapedtitle , scrapedurl , scrapedthumbnail , scrapedplot )

	# Cierra el directorio
	xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )
	xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )
	xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
コード例 #3
0
ファイル: divxonline.py プロジェクト: hmemar/xbmc-tvalacarta
def busqueda(params,url,category):
	logger.info("busqueda")
	tecleado = ""
	keyboard = xbmc.Keyboard('')
	keyboard.doModal()
	if (keyboard.isConfirmed()):
		tecleado = keyboard.getText()
		if len(tecleado)<=0:
			return
	
	tecleado = tecleado.replace(" ", "+")
	data=scrapertools.cachePagePost("http://www.divxonline.info/buscador.html",'texto=' + tecleado + '&categoria=0&tipobusqueda=1&Buscador=Buscar')

	#logger.info(data)
	data=data[data.find('Se han encontrado un total de'):]
	
	#<li><a href="/pelicula/306/100-chicas-2000/">100 chicas (2000)</a></li>
	patronvideos  = '<li><a href="(.+?)">(.+?)</a></li>'
	matches = re.compile(patronvideos,re.DOTALL).findall(data)
	if DEBUG: 
		scrapertools.printMatches(matches)
	
	for match in matches:
		xbmctools.addnewfolder( CHANNELNAME , "listmirrors" , category , match[1] , 'http://www.divxonline.info' + match[0] , 'scrapedthumbnail', 'scrapedplot' )
	
	xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )
	xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )
	xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
コード例 #4
0
def findvideos(item):
    logger.info("[cuevana.py] findvideos")

    code = ""
    if (item.url.startswith("http://www.cuevana.tv/list_search_info.php")):
        data = scrapertools.cachePage(item.url)
        logger.info("data=" + data)
        patron = "window.location\='/series/([0-9]+)/"
        matches = re.compile(patron, re.DOTALL).findall(data)
        if len(matches) > 0:
            code = matches[0]
        logger.info("code=" + code)
        url = "http://www.cuevana.tv/player/source?id=%s&subs=,ES&onstart=yes&tipo=s&sub_pre=ES" % matches[
            0]
    else:
        # http://www.cuevana.tv/peliculas/2553/la-cienaga/
        logger.info("url1=" + item.url)
        patron = "http://www.cuevana.tv/peliculas/([0-9]+)/"
        matches = re.compile(patron, re.DOTALL).findall(item.url)
        if len(matches) > 0:
            code = matches[0]
        logger.info("code=" + code)
        url = "http://www.cuevana.tv/player/source?id=%s&subs=,ES&onstart=yes&sub_pre=ES#" % matches[
            0]

    logger.info("url2=" + url)
    data = scrapertools.cachePage(url)
    logger.info("data=" + data)

    # goSource('ee5533f50eab1ef355661eef3b9b90ec','megaupload')
    patron = "goSource\('([^']+)','megaupload'\)"
    matches = re.compile(patron, re.DOTALL).findall(data)
    if len(matches) > 0:
        data = scrapertools.cachePagePost(
            "http://www.cuevana.tv/player/source_get",
            "key=%s&host=megaupload&vars=&id=2933&subs=,ES&tipo=&amp;sub_pre=ES"
            % matches[0])
    logger.info("data=" + data)

    listavideos = servertools.findvideos(data)

    itemlist = []

    for video in listavideos:
        server = video[2]
        scrapedtitle = item.title + " [" + server + "]"
        scrapedurl = video[1]

        itemlist.append(
            Item(channel=CHANNELNAME,
                 action="play",
                 title=scrapedtitle,
                 url=scrapedurl,
                 thumbnail=item.thumbnail,
                 plot=item.plot,
                 server=server,
                 folder=False))

    return itemlist
コード例 #5
0
def videolist(params,url,category):
	xbmc.output("[tvg.py] videolist")

	# --------------------------------------------------------
	# Descarga la página
	# --------------------------------------------------------
	posturl = url[:39]
	postdata = url[40:]
	xbmc.output("posturl="+posturl)
	xbmc.output("postdata="+postdata)
	data = scrapertools.cachePagePost(posturl,postdata)
	#xbmc.output(data)

	# --------------------------------------------------------
	# Extrae los videos
	# --------------------------------------------------------
	patron = '[^<]+<table class="video" onmouseover="[^"]+" onmouseout="[^"]+" onclick="javascript:AbreReproductor\(\'([^\']+)\'[^"]+" >[^<]+<tr>[^<]+<td rowspan="2" class="foto"><img src="([^"]+)"></td>[^<]+<td class="texto">(.*?)</td>'
	matches = re.compile(patron,re.DOTALL).findall(data)
	if DEBUG:
		scrapertools.printMatches(matches)

	for match in matches:
		patron2 = "programa=([^&]+)&"
		matches2 = re.compile(patron2,re.DOTALL).findall(match[0])
		scrapedtitle = matches2[0]

		patron2 = "fecha=([^&]+)&"
		matches2 = re.compile(patron2,re.DOTALL).findall(match[0])
		scrapedtitle = scrapedtitle + " (" + matches2[0] + ")"

		scrapedurl = "http://www.crtvg.es" + match[0].replace("&amp;","&").replace(" ","%20")
		scrapedthumbnail = "http://www.crtvg.es"+match[1]
		scrapedplot = match[2]

		# Depuracion
		if (DEBUG):
			xbmc.output("scrapedtitle="+scrapedtitle)
			xbmc.output("scrapedurl="+scrapedurl)
			xbmc.output("scrapedthumbnail="+scrapedthumbnail)

		# Añade al listado de XBMC
		xbmctools.addnewvideo( CHANNELCODE , "play" , CHANNELNAME , "" , scrapedtitle , scrapedurl , scrapedthumbnail, scrapedplot )

	# Label (top-right)...
	xbmcplugin.setPluginCategory( handle=pluginhandle, category=category )

	# Disable sorting...
	#xbmcplugin.addSortMethod( handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE )

	# End of directory...
	xbmcplugin.endOfDirectory( handle=pluginhandle, succeeded=True )
コード例 #6
0
ファイル: cuevana.py プロジェクト: hmemar/xbmc-tvalacarta
def findvideos(item):
    logger.info("[cuevana.py] findvideos")

    code =""
    if (item.url.startswith("http://www.cuevana.tv/list_search_info.php")):
        data = scrapertools.cachePage(item.url)
        logger.info("data="+data)
        patron = "window.location\='/series/([0-9]+)/"
        matches = re.compile(patron,re.DOTALL).findall(data)
        if len(matches)>0:
            code = matches[0]
        logger.info("code="+code)
        url = "http://www.cuevana.tv/player/source?id=%s&subs=,ES&onstart=yes&tipo=s&sub_pre=ES" % matches[0]
    else:
        # http://www.cuevana.tv/peliculas/2553/la-cienaga/
        logger.info("url1="+item.url)
        patron = "http://www.cuevana.tv/peliculas/([0-9]+)/"
        matches = re.compile(patron,re.DOTALL).findall(item.url)
        if len(matches)>0:
            code = matches[0]
        logger.info("code="+code)
        url = "http://www.cuevana.tv/player/source?id=%s&subs=,ES&onstart=yes&sub_pre=ES#" % matches[0]
    
    logger.info("url2="+url)
    data = scrapertools.cachePage(url)
    logger.info("data="+data)

    # goSource('ee5533f50eab1ef355661eef3b9b90ec','megaupload')
    patron = "goSource\('([^']+)','megaupload'\)"
    matches = re.compile(patron,re.DOTALL).findall(data)
    if len(matches)>0:
        data = scrapertools.cachePagePost("http://www.cuevana.tv/player/source_get","key=%s&host=megaupload&vars=&id=2933&subs=,ES&tipo=&amp;sub_pre=ES" % matches[0])
    logger.info("data="+data)

    listavideos = servertools.findvideos(data)
    
    itemlist = []
    
    for video in listavideos:
        server = video[2]
        scrapedtitle = item.title + " [" + server + "]"
        scrapedurl = video[1]
        
        itemlist.append( Item(channel=CHANNELNAME, action="play" , title=scrapedtitle , url=scrapedurl, thumbnail=item.thumbnail, plot=item.plot, server=server, folder=False))

    return itemlist
コード例 #7
0
def categorylist(params,url,category):
	xbmc.output("[tvg.py] categorylist")

	# --------------------------------------------------------
	# Descarga la página
	# --------------------------------------------------------
	posturl = url[:39]
	postdata = url[40:]
	xbmc.output("posturl="+posturl)
	xbmc.output("postdata="+postdata)
	data = scrapertools.cachePagePost(posturl,postdata)
	#xbmc.output(data)

	# --------------------------------------------------------
	# Extrae las carpetas
	# --------------------------------------------------------
	patron = '<table align="center" id="prog_front">[^<]+<tr>[^<]+<th class="cab">[^<]+<strong>([^<]+)</strong>'
	matches = re.compile(patron,re.DOTALL).findall(data)
	if DEBUG:
		scrapertools.printMatches(matches)

	for match in matches:
		scrapedtitle = match.rstrip()
		scrapedurl = "http://www.crtvg.es/tvgacarta/index.asp?tipo=" + category.replace(" ","+") + "&procura=" + match.replace(" ","+")
		scrapedthumbnail = ""
		scrapedplot = ""

		# Depuracion
		if (DEBUG):
			xbmc.output("scrapedtitle="+scrapedtitle)
			xbmc.output("scrapedurl="+scrapedurl)
			xbmc.output("scrapedthumbnail="+scrapedthumbnail)

		# Añade al listado de XBMC
		xbmctools.addnewfolder( CHANNELCODE , "videolist" , scrapedtitle , scrapedtitle , scrapedurl , scrapedthumbnail, scrapedplot )

	# Label (top-right)...
	xbmcplugin.setPluginCategory( handle=pluginhandle, category=category )

	# Disable sorting...
	#xbmcplugin.addSortMethod( handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE )

	# End of directory...
	xbmcplugin.endOfDirectory( handle=pluginhandle, succeeded=True )
コード例 #8
0
def programlist(params,url,category):
	logger.info("[rtvc.py] programlist")

	# La url es el id del combo de categorías, lo pega dentro del DATA del POST
	data="ctl00$content$ScriptManager1=ctl00$content$UpdatePanel1|ctl00$content$ddlEmisionesCategoria&__EVENTTARGET=ctl00%24content%24ddlEmisionesCategoria&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=%2FwEPDwULLTEzNjQ1NDg2NTgPZBYCZg9kFgICAxBkZBYEZg9kFgYCAQ8WAh4Fc3R5bGUFDWRpc3BsYXk6bm9uZTtkAgMPFgIfAAUPZGlzcGxheTppbmxpbmU7ZAIFDxYCHwAFDWRpc3BsYXk6bm9uZTtkAgIPZBYOAgMPDxYCHghJbWFnZVVybAUqL2ltYWdlcy93ZWIvYnRuX2VtaXNpb25lc190b2RvX2NoZWNrZWQucG5nZGQCBQ8PFgIfAQUjL2ltYWdlcy93ZWIvYnRuX2VtaXNpb25lc192aWRlby5wbmdkZAIHDw8WAh8BBSMvaW1hZ2VzL3dlYi9idG5fZW1pc2lvbmVzX2F1ZGlvLnBuZ2RkAgkPDxYCHwEFIy9pbWFnZXMvd2ViL2J0bl9lbWlzaW9uZXNfZm90b3MucG5nZGQCCw8PFgIfAQUhL2ltYWdlcy93ZWIvYnRuX2VtaXNpb25lc19wZGYucG5nZGQCDQ9kFgJmD2QWAgIBDxAPFgYeDURhdGFUZXh0RmllbGQFBXZhbHVlHg5EYXRhVmFsdWVGaWVsZAUDa2V5HgtfIURhdGFCb3VuZGdkEBUIFVRvZGFzIGxhcyBjYXRlZ29yw61hcwhDYXJuYXZhbAhEZXBvcnRlcwVIdW1vcgxJbmZvcm1hdGl2b3MJTWFnYXppbmUgB011c2ljYWwFT3Ryb3MVCAEwBDUwNDkBNgIyNQExATUCMTEENTA0NhQrAwhnZ2dnZ2dnZxYBZmQCDw9kFgJmD2QWAgICDzwrAAkBAA8WBB4IRGF0YUtleXMWAB4LXyFJdGVtQ291bnQCH2QWPmYPZBYCAgEPFQUzL3RlbGV2aXNpb24vZW1pc2lvbi9idWVub3MtZMOtYXMtY2FuYXJpYXMtMTEyNi5hc3B4FkJ1ZW5vcyBkw61hcywgQ2FuYXJpYXMZQnVlbm9zIGTDrWFzLCBDYW5hcmlhcy4uLgxJbmZvcm1hdGl2b3MiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzExMjYuYXNweGQCAQ9kFgICAQ8VBS4vdGVsZXZpc2lvbi9lbWlzaW9uL2NhbmFyaWFzLWRpcmVjdG8tMTEwNS5hc3B4EENhbmFyaWFzIERpcmVjdG8TQ2FuYXJpYXMgRGlyZWN0by4uLglNYWdhemluZSAiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzExMDUuYXNweGQCAg9kFgICAQ8VBS4vdGVsZXZpc2lvbi9lbWlzaW9uL2VsLWd1c3RvLWVzLW3DrW8tODg0Mi5hc3B4EEVsIGd1c3RvIGVzIG3DrW8TRWwgZ3VzdG8gZXMgbcOtby4uLglNYWdhemluZSAiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzg4NDIuYXNweGQCAw9kFgICAQ8VBVMvdGVsZXZpc2lvbi9lbWlzaW9uL2lpLWZhc2UtbXVyZ2FzLWNhcm5hdmFsLWRlLWxhcy1wYWxtYXMtZGUtZ3Jhbi1jYW5hcmlhLTc5MTkuYXNweDVJSSBGYXNlIE11cmdhcyBDYXJuYXZhbCBkZSBMYXMgUGFsbWFzIGRlIEdyYW4gQ2FuYXJpYRFJSSBGYXNlIE11cmdhcy4uLghDYXJuYXZhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNzkxOS5hc3B4ZAIED2QWAgIBDxUFKy90ZWxldmlzaW9uL2VtaXNpb24vbnVlc3RyYS1nZW50ZS01MjY4LmFzcHgNTnVlc3RyYSBnZW50ZQ1OdWVzdHJhIGdlbnRlCU1hZ2F6aW5lICIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNTI2OC5hc3B4ZAIFD2QWAgIBDxUFUC90ZWxldmlzaW9uL2VtaXNpb24vc2VndW5kYS1mYXNlLWRlLW11cmdhcy1pbmZhbnRpbGVzLWRlLXRlbmVyaWZlLTIwMTAtODk3OC5hc3B4MlNlZ3VuZGEgRmFzZSBkZSBNdXJnYXMgSW5mYW50aWxlcyBkZSBUZW5lcmlmZSAyMDEwElNlZ3VuZGEgRmFzZSBkZS4uLghDYXJuYXZhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODk3OC5hc3B4ZAIGD2QWAgIBDxUFKi90ZWxldmlzaW9uL2VtaXNpb24vdGVsZW5vdGljaWFzLTEtNDYuYXNweA5UZWxlbm90aWNpYXMgMRFUZWxlbm90aWNpYXMgMS4uLgxJbmZvcm1hdGl2b3MgL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzQ2LmFzcHhkAgcPZBYCAgEPFQUsL3RlbGV2aXNpb24vZW1pc2lvbi90ZWxlbm90aWNpYXMtMi0xOTM3LmFzcHgOVGVsZW5vdGljaWFzIDIRVGVsZW5vdGljaWFzIDIuLi4MSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS8xOTM3LmFzcHhkAggPZBYCAgEPFQVAL3RlbGV2aXNpb24vZW1pc2lvbi9wcmVzZW50YWNpw7NuLWNhbmRpZGF0YXMtcmVpbmEtdG5mLTc4ODMuYXNweCJQcmVzZW50YWNpw7NuIENhbmRpZGF0YXMgUmVpbmEgVE5GG1ByZXNlbnRhY2nDs24gQ2FuZGlkYXRhcy4uLghDYXJuYXZhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNzg4My5hc3B4ZAIJD2QWAgIBDxUFVi90ZWxldmlzaW9uL2VtaXNpb24vaS1mYXNlLW11cmdhcy1kZWwtY2FybmF2YWwtZGUtbGFzLXBhbG1hcy1kZS1ncmFuLWNhbmFyaWEtNzkxNy5hc3B4OEkgRmFzZSBNdXJnYXMgZGVsIENhcm5hdmFsIGRlIExhcyBQYWxtYXMgZGUgR3JhbiBDYW5hcmlhEEkgRmFzZSBNdXJnYXMuLi4IQ2FybmF2YWwiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzc5MTcuYXNweGQCCg9kFgICAQ8VBSUvdGVsZXZpc2lvbi9lbWlzaW9uL2xhLWdhbGEtNzE3My5hc3B4B0xhIEdhbGEHTGEgR2FsYQdNdXNpY2FsIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83MTczLmFzcHhkAgsPZBYCAgEPFQUkL3RlbGV2aXNpb24vZW1pc2lvbi9yZXBvcjctNzY4Ni5hc3B4BlJlcG9yNwZSZXBvcjcMSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83Njg2LmFzcHhkAgwPZBYCAgEPFQU6L3RlbGV2aXNpb24vZW1pc2lvbi9nYWxhLWRyYWctZGUtbWFzcGFsb21hcy0yMDA2LTY2ODMuYXNweBxHYWxhIERyYWcgZGUgTWFzcGFsb21hcyAyMDA2GkdhbGEgRHJhZyBkZSBNYXNwYWxvbWFzLi4uBU90cm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS82NjgzLmFzcHhkAg0PZBYCAgEPFQVTL3RlbGV2aXNpb24vZW1pc2lvbi9maW5hbC1jb25jdXJzby1tdXJnYXMtYWR1bHRhcy1kZS1zLWMtZGUtdGVuZXJpZmUtMjAwOS02NjU1LmFzcHg2RmluYWwgQ29uY3Vyc28gTXVyZ2FzIEFkdWx0YXMgZGUgUy5DLiBkZSBUZW5lcmlmZSAyMDA5EUZpbmFsIENvbmN1cnNvLi4uCENhcm5hdmFsIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS82NjU1LmFzcHhkAg4PZBYCAgEPFQUyL3RlbGV2aXNpb24vZW1pc2lvbi9nYWxhLWRyYWctcXVlZW4tMjAwOC01NjY0LmFzcHgUR2FsYSBEcmFnIFF1ZWVuIDIwMDgSR2FsYSBEcmFnIFF1ZWVuLi4uBU90cm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS81NjY0LmFzcHhkAg8PZBYCAgEPFQU6L3RlbGV2aXNpb24vZW1pc2lvbi9nYWxhLXJlaW5hLWFkdWx0YS1kZS10Zi0yMDA5LTY3MDAuYXNweB1HYWxhIFJlaW5hIEFkdWx0YSBkZSBUZi4gMjAwORRHYWxhIFJlaW5hIEFkdWx0YS4uLgVPdHJvcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNjcwMC5hc3B4ZAIQD2QWAgIBDxUFKy90ZWxldmlzaW9uL2VtaXNpb24vbHVjaGEtY2FuYXJpYS03MDk4LmFzcHgNTHVjaGEgQ2FuYXJpYQ1MdWNoYSBDYW5hcmlhCERlcG9ydGVzIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83MDk4LmFzcHhkAhEPZBYCAgEPFQUnL3RlbGV2aXNpb24vZW1pc2lvbi9lbC1lbnZpdGUtNzgwMi5hc3B4CUVsIGVudml0ZQlFbCBlbnZpdGUMSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS83ODAyLmFzcHhkAhIPZBYCAgEPFQVAL3RlbGV2aXNpb24vZW1pc2lvbi9maW5hbC1kZS1tdXJnYXMtYWR1bHRhcy1kZS1scC0yMDA4LTY2NzkuYXNweCJGaW5hbCBkZSBNdXJnYXMgQWR1bHRhcyBkZSBMUCAyMDA4EkZpbmFsIGRlIE11cmdhcy4uLghDYXJuYXZhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNjY3OS5hc3B4ZAITD2QWAgIBDxUFOi90ZWxldmlzaW9uL2VtaXNpb24vZ2FsYS1yZWluYS1hZHVsdGEtZGUtbHAtMjAwOC02NjQ5LmFzcHgcR2FsYSBSZWluYSBBZHVsdGEgZGUgTFAgMjAwOBRHYWxhIFJlaW5hIEFkdWx0YS4uLgVPdHJvcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNjY0OS5hc3B4ZAIUD2QWAgIBDxUFRi90ZWxldmlzaW9uL2VtaXNpb24vZmluYWwtZGUtbXVyZ2FzLWFkdWx0YXMtZGUtdGVuZXJpZmUtMjAwOC02NjgwLmFzcHgoRmluYWwgZGUgTXVyZ2FzIEFkdWx0YXMgZGUgVGVuZXJpZmUgMjAwOBJGaW5hbCBkZSBNdXJnYXMuLi4IQ2FybmF2YWwiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzY2ODAuYXNweGQCFQ9kFgICAQ8VBSwvdGVsZXZpc2lvbi9lbWlzaW9uL2VuLWNsYXZlLWRlLWphLTM1MDYuYXNweA5FbiBjbGF2ZSBkZSBKYRFFbiBjbGF2ZSBkZSBKYS4uLgVIdW1vciIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvMzUwNi5hc3B4ZAIWD2QWAgIBDxUFSy90ZWxldmlzaW9uL2VtaXNpb24vZ2FsYS1yZWluYS1kZS1sYXMtcGFsbWFzLWctYy0yMDA3LXJlZGlmdXNpw7NuLTU2NDUuYXNweDBHYWxhIFJlaW5hIGRlIExhcyBQYWxtYXMgRy5DLiAyMDA3IChyZWRpZnVzacOzbikQR2FsYSBSZWluYSBkZS4uLghDYXJuYXZhbCIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNTY0NS5hc3B4ZAIXD2QWAgIBDxUFMS90ZWxldmlzaW9uL2VtaXNpb24vbGEtYm9kZWdhLWRlLWp1bGnDoW4tODE3LmFzcHgUTGEgYm9kZWdhIGRlIEp1bGnDoW4XTGEgYm9kZWdhIGRlIEp1bGnDoW4uLi4HTXVzaWNhbCEvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODE3LmFzcHhkAhgPZBYCAgEPFQU2L3RlbGV2aXNpb24vZW1pc2lvbi9jYW5jacOzbi1kZS1sYS1yaXNhLTIwMDktODA2MC5hc3B4GENhbmNpw7NuIGRlIGxhIFJpc2EgMjAwORFDYW5jacOzbiBkZSBsYS4uLgVPdHJvcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODA2MC5hc3B4ZAIZD2QWAgIBDxUFLS90ZWxldmlzaW9uL2VtaXNpb24vY8OzZGlnby1hYmllcnRvLTc0NzIuYXNweA9Dw7NkaWdvIGFiaWVydG8SQ8OzZGlnbyBhYmllcnRvLi4uCU1hZ2F6aW5lICIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvNzQ3Mi5hc3B4ZAIaD2QWAgIBDxUFTS90ZWxldmlzaW9uL2VtaXNpb24vbWVuc2FqZS1kZWwtcHJlc2lkZW50ZS1kZWwtZ29iaWVybm8tZGUtY2FuYXJpYXMtODg1Mi5hc3B4L01lbnNhamUgZGVsIHByZXNpZGVudGUgZGVsIEdvYmllcm5vIGRlIENhbmFyaWFzGU1lbnNhamUgZGVsIHByZXNpZGVudGUuLi4MSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS84ODUyLmFzcHhkAhsPZBYCAgEPFQUqL3RlbGV2aXNpb24vZW1pc2lvbi90ZWxlbm90aWNpYXMtMy05MC5hc3B4DlRlbGVub3RpY2lhcyAzEVRlbGVub3RpY2lhcyAzLi4uDEluZm9ybWF0aXZvcyAvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvOTAuYXNweGQCHA9kFgICAQ8VBTsvdGVsZXZpc2lvbi9lbWlzaW9uL3JlcG9yNy1lc3BlY2lhbC1yZXN1bWVuLWFudWFsLTg4NDAuYXNweB1SZXBvcjcgRXNwZWNpYWwgUmVzdW1lbiBBbnVhbBJSZXBvcjcgRXNwZWNpYWwuLi4MSW5mb3JtYXRpdm9zIi9yc3MvdGVsZXZpc2lvbi9wcm9ncmFtYS84ODQwLmFzcHhkAh0PZBYCAgEPFQUrL3RlbGV2aXNpb24vZW1pc2lvbi96b25hLW1vdG9yLXR2LTg0NTMuYXNweA1ab25hIE1vdG9yIFRWDVpvbmEgTW90b3IgVFYIRGVwb3J0ZXMiL3Jzcy90ZWxldmlzaW9uL3Byb2dyYW1hLzg0NTMuYXNweGQCHg9kFgICAQ8VBSQvdGVsZXZpc2lvbi9lbWlzaW9uL3Byb21vcy04NDM2LmFzcHgGUHJvbW9zBlByb21vcwVPdHJvcyIvcnNzL3RlbGV2aXNpb24vcHJvZ3JhbWEvODQzNi5hc3B4ZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBwUcY3RsMDAkbG9naW5idXR0b25zJGJ0bkVudmlhcgUeY3RsMDAkbG9naW5idXR0b25zJGNoYlJlY29yZGFyBRVjdGwwMCRjb250ZW50JGltZ1RvZG8FF2N0bDAwJGNvbnRlbnQkaW1nVmlkZW9zBRZjdGwwMCRjb250ZW50JGltZ0F1ZGlvBRZjdGwwMCRjb250ZW50JGltZ0ZvdG9zBRRjdGwwMCRjb250ZW50JGltZ1BERg%3D%3D&ctl00$loginbuttons$txtUsuario=&ctl00$loginbuttons$txtPassword=&ctl00$content$ddlEmisionesCategoria="+url+"&ctl00$content$typeselected=video&"
	url="http://www.rtvc.es/television/emisiones.aspx"
	
	# Descarga la página
	data = scrapertools.cachePagePost(url,data)
	#logger.info(data)

	# Extrae los programas
	patron  = '<div class="emision">[^<]+'
	patron += '<div class="photo">[^<]+'
	patron += '<img id="[^"]+" src="/handlers/ThumbnailHandler.ashx\?width=90\&amp\;height=60\&amp\;fill=False\&amp\;src=([^"]+)"[^>]+>[^<]+'
	patron += '</div>[^<]+'
	patron += '<div class="data">[^<]+'
	patron += '<a class="title" href="([^"]+)">[^<]+'
	patron += '<span id="title" title="([^"]+)">[^<]+</span>'
	matches = re.compile(patron,re.DOTALL).findall(data)

	for match in matches:
		# Atributos del vídeo
		scrapedtitle = match[2].strip()
		scrapedurl = urlparse.urljoin(url,match[1])
		# /handlers/ThumbnailHandler.ashx?width=90&amp;height=60&amp;fill=False&amp;src=
		#scrapedthumbnail = urlparse.urljoin(url,match[0].replace("&amp;","&"))
		scrapedthumbnail = urlparse.urljoin(url,match[0].replace(" ","%20"))
		scrapedplot = ""
		if (DEBUG): logger.info("title=["+scrapedtitle+"], url=["+scrapedurl+"], thumbnail=["+scrapedthumbnail+"]")

		# Añade al listado de XBMC
		xbmctools.addnewfolder( CHANNELCODE , "videolist" , CHANNELNAME , scrapedtitle , scrapedurl , scrapedthumbnail , scrapedplot )

	# Cierra el directorio
	xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )
	xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )
	xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )