# -*- coding: utf-8 -*-
"""
This plugin is 3rd party and not part of p2p-streams addon
Arenavision.in
"""
import sys,os
current_dir = os.path.dirname(os.path.realpath(__file__))
basename = os.path.basename(current_dir)
core_dir = current_dir.replace(basename,'').replace('parsers','')
sys.path.append(core_dir)
from utils.webutils import *
from utils.pluginxbmc import *
from utils.directoryhandle import *
import acestream as ace
import sopcast as sop
base_url = "http://arenavision.in/"
def module_tree(name,url,iconimage,mode,parser,parserfunction):
if not parserfunction: arenavision_menu()
elif parserfunction == "arenavision_streams": arenavision_streams(name,url)
elif parserfunction == "arenavision_schedule": arenavision_schedule(url)
def arenavision_menu():
try:
source = get_page_source(base_url)
except: source="";xbmcgui.Dialog().ok(translate(40000),translate(40128))
if source:
match = re.compile("<li><a href='(.+?)'>(.+?)</a></li>").findall(source)
for link,name in match:
if "Agenda" in name:
addDir("
[COLOR orange]Agenda/Schedule[/COLOR]",link,401,os.path.join(current_dir,"icon.png"),1,True,parser="arenavision",parserfunction="arenavision_schedule")
if "AV" in name:
addDir(name,link,401,os.path.join(current_dir,"icon.png"),1,False,parser="arenavision",parserfunction="arenavision_streams")
else: pass
def arenavision_streams(name,url):
try:
source = get_page_source(url)
except: source="";xbmcgui.Dialog().ok(translate(40000),translate(40128))
if source:
match = re.compile('sop://(.+?)"').findall(source)
if match: sop.sopstreams(name,os.path.join(current_dir,"icon.png"),"sop://" + match[0])
else:
match = re.compile('this.loadPlayer\("(.+?)"').findall(source)
if match: ace.acestreams(name,os.path.join(current_dir,"icon.png"),match[0])
else: xbmcgui.Dialog().ok(translate(40000),translate(40022))
def arenavision_schedule(url):
try:
source = get_page_source(url)
except: source="";xbmcgui.Dialog().ok(translate(40000),translate(40128))
if source:
match = re.findall("<br />(.*?)<div class='post-footer'>", source, re.DOTALL)
for event in match:
eventmatch = re.compile('(.+?)/(.+?)/(.+?) (.+?).+?) CET (.+?)<').findall(event)
for dia,mes,year,hour,minute,evento in eventmatch:
try:
import datetime
from utils import pytzimp
d = pytzimp.timezone(str(pytzimp.timezone('Europe/Madrid'))).localize(datetime.datetime(2000 + int(year), int(mes), int(dia), hour=int(hour), minute=int(minute)))
timezona= settings.getSetting('timezone_new')
my_location=pytzimp.timezone(pytzimp.all_timezones[int(timezona)])
convertido=d.astimezone(my_location)
fmt = "%d-%m-%y %H:%M"
time=convertido.strftime(fmt)
addLink('[COLOR orange]' + time + '[/COLOR] ' + evento,'',os.path.join(current_dir,"icon.png"))
except:
addLink(evento.replace(" ",""),'',os.path.join(current_dir,"icon.png"))
xbmc.executebuiltin("Container.SetViewMode(51)")