PK yI$ plugin.video.MultiTV/addon.xml
video
Blank
A plugin for playing online lists. Visit http://kodification.co.uk to report any errors
The original author neither hosts or stores any content, the original author has no affiliation with content hosts, it is the sole responsibility of the user to ensure they have permission to view any streams provided
all
PK +yIQGkR kR plugin.video.MultiTV/default.py# -*- coding: utf-8 -*-
'''
Template Add-on
Copyright (C) 2016 Demo
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
'''
import urllib2, urllib, xbmcgui, xbmcplugin, xbmc, re, sys, os, xbmcaddon, json, time
from threading import Thread
Main = 'http://www.watchseriesgo.to'
ADDONS = xbmc.translatePath(os.path.join('special://home','addons',''))
ADDON_PATH = xbmc.translatePath('special://home/addons/plugin.video.MultiTV/')
USERDATA_PATH = xbmc.translatePath('special://home/userdata/addon_data')
ADDON_DATA = USERDATA_PATH + '/MultiTV/'
if not os.path.exists(ADDON_DATA):
os.makedirs(ADDON_DATA)
ICON = ADDON_PATH + 'icon.png'
FANART = ADDON_PATH + 'fanart.jpg'
Dialog = xbmcgui.Dialog()
addon_id = 'plugin.video.MultiTV'
ADDON = xbmcaddon.Addon(id=addon_id)
PATH = 'Multi TV'
VERSION = '0.0.1'
watched = ADDON_DATA + 'watched.txt'
if not os.path.exists(watched):
open(watched,'w+')
favourites = ADDON_DATA + 'favourites.txt'
watched_read = open(watched).read()
if not os.path.exists(favourites):
open(favourites,'w+')
favourites_read = open(favourites).read()
dp = xbmcgui.DialogProgress()
addon_handle = int(sys.argv[1])
List = []
watched_list = []
temp_file = ADDON_PATH + 'Temp.txt'
IMDB = 'http://www.imdb.com'
genre_list = ['Drama','Horror','Adventure','Fantasy','Sci-Fi','Thriller','Comedy','Romance','Mystery','Action','Family','Music','Crime','Animation']
Sources = ['filehoot','allmyvideos','vidspot','vodlocker','vidzi','videoweed','vidup','vshare','vidbull']
def Main_Menu():
Menu('Latest Episodes','http://www.watchseries.ac/latest',1,ICON,FANART,'','')
Menu('Popular Episodes','http://www.watchseries.ac/new',2,ICON,FANART,'','')
Menu('Genres','http://www.watchseries.ac/',3,ICON,FANART,'','')
Menu('Tv Schedule','http://www.watchseries.ac/tvschedule',7,ICON,FANART,'','')
Menu('Search','',9,ICON,FANART,'','')
Menu('Favourites','',12,ICON,FANART,'','')
def Search():
image = ICON
description = ''
fanart = FANART
Search_name = Dialog.input('Search', type=xbmcgui.INPUT_ALPHANUM)
Search_url = 'http://www.watchseries.ac/search/' + (Search_name).replace(' ','%20')
if Search_name == '':
pass
else:
OPEN = Open_Url(Search_url)
match = re.compile('
.+?
(.+?)(.+?)
',re.DOTALL).findall(OPEN)
for url,img,name,desc in match:
name = (name).replace(' ','-').replace('---',' - ').replace(''','\'').replace('&','&').replace('"','"')
url = Main + url
image = Main + img
description = (desc).replace('
','').replace('','').replace(' ','-').replace('---',' - ').replace(''','\'').replace('&','&').replace('"','"').replace('Description: ','').replace(' ','')
Menu(name,url,5,image,fanart,description,name)
setView('Movies', 'INFO')
def Tv_Schedule(url):
OPEN = Open_Url(url)
match = re.compile('
(.+?)').findall(OPEN)
for url,date in match:
date = (date).replace('&','&').replace(''','\'')
url = Main + '/tvschedule/' + url
if date in List:
pass
elif 'TV Schedule' in date:
pass
elif 'Home' in date:
pass
elif 'Series' in date:
pass
elif 'TV Show' in date:
pass
elif 'This Week' in date:
pass
elif 'Newest' in date:
pass
else:
Menu(date,url,8,ICON,FANART,'','')
List.append(date)
def Schedule_Grab(url):
OPEN = Open_Url(url)
match = re.compile('
.+?(.+?).+?.+?(.+?).+?
.+?
(.+?) ',re.DOTALL).findall(OPEN)
for url,name,year,img,season,desc in match:
url = Main + url
image = Main + img
name = (name).replace(' ','-').replace('---',' - ').replace(''','\'').replace('&','&').replace('"','"').replace('(2014)','')
Menu(name + ' ' + year + ' - [COLORred]'+season+'[/COLOR]',url,5,img,FANART,'',name)
if len(match) <= 0:
Menu('No Data Available Unfortunately','','','','','')
def Genres():
OPEN = Open_Url(Main)
match = re.compile('').findall(OPEN)
for url,name in match:
url = Main +'/genres/'+ url
Menu(name,url,4,ICON,FANART,'','')
def Genres_Page(url):
OPEN = Open_Url(url)
match = re.compile('(.+?)(.+?)').findall(OPEN)
for url,name,year in match:
name = (name).replace(' ','-').replace('---',' - ').replace(''','\'').replace('&','&').replace('"','"')
url = Main + url
if 'hack/' in name:
pass
elif '.hack' in name:
pass
elif '.Hack' in name:
pass
elif '\'t' in name:
pass
else:
Menu(name+' - [COLORred]'+year+'[/COLOR]',url,5,ICON,FANART,'',name)
Next_Page = re.compile('