#!/usr/bin/python
# -*- coding: utf-8 -*-

import os, cookielib, urllib, urllib2, time
#import settings
#-----------------------------------------
serv_id = '39'
siteUrl = 'proxytv.ru'
httpSiteUrl = 'http://' + siteUrl
sid_file = os.path.join(os.getcwd(), siteUrl+'.sid')

cj = cookielib.FileCookieJar(sid_file) 
hr  = urllib2.HTTPCookieProcessor(cj) 
opener = urllib2.build_opener(hr) 
urllib2.install_opener(opener) 


def fs(s):return s.decode('windows-1251').encode('utf-8')
def ru(x):return unicode(x,'utf8', 'ignore')
def xt(x):return xbmc.translatePath(x)

def CRC32(buf):
		import binascii
		buf = (binascii.crc32(buf) & 0xFFFFFFFF)
		return str("%08X" % buf)

def showMessage(heading, message, times = 3000):
	xbmc.executebuiltin('XBMC.Notification("%s", "%s", %s, "%s")'%(heading, message, times, icon))

def getURL(url, Referer = httpSiteUrl):
	req = urllib2.Request(url)
	req.add_header('User-Agent', 'Opera/10.60 (X11; openSUSE 11.3/Linux i686; U; ru) Presto/2.6.30 Version/10.60')
	req.add_header('Accept', 'text/html, application/xml, application/xhtml+xml, */*')
	req.add_header('Accept-Language', 'ru,en;q=0.9')
	req.add_header('Referer', Referer)
	response = urllib2.urlopen(req)
	link=response.read()
	response.close()
	return link


def POST(target, post=None, referer='http://proxytv.ru/index.php/poisk.html'):
	try:
		req = urllib2.Request(url = target, data = post)
		req.add_header('Referer', referer)
		req.add_header('X-Requested-With', 'XMLHttpRequest')
		resp = urllib2.urlopen(req)
		http = resp.read()
		resp.close()
		return http
	except Exception, e:
		return ''

def mfindal(http, ss, es):
	L=[]
	while http.find(es)>0:
		s=http.find(ss)
		e=http.find(es)
		i=http[s:e]
		L.append(i)
		http=http[e+2:]
	return L

def mfind(t,s,e):
	r=t[t.find(s)+len(s):]
	r2=r[:r.find(e)]
	return r2



class PZL:
	def Streams(self, url):
		cid=int(url.replace('prxtv:',''))
		print cid
		target='http://proxytv.ru/iptv/php/srch.php'
		CNM=Lch[cid]
		print CNM
		post='udpxyaddr=ch%3A+'+urllib.quote_plus(CNM)
		p = POST(target, post)
		p = p.replace('#EXTINF','\n#EXTINF')
		L=[]
		for i in p.splitlines():
			if '#EXTINF' in i:
				t = mfind(i, ',', '<')
				title = t[:t.rfind('-')].strip()
				id = t[t.rfind('-')+1:].strip()
				#print title
				if title == CNM and id not in Lbl:
					url=mfind(i, '<br>', '<')
					if '/udp/' in url: L.append(url)
		return L

	def Canals(self):
		cid=0
		L=[]
		for title in Lch:
				url="prxtv:"+str(cid)
				L.append({'url':url, 'img':'', 'title':title.strip()})
				cid+=1
		return L

Lbl=[
	"-россия-"
	"1131",
	"1039",
	"1193",
	"6061",
	"9027",
	"13039",
	"32153",
	"32154",
	"32155",
	"38016",
	"42026",
	"32153",
	"2011",
	"15189",
	"16211",
	"16212",
	"16213",
	"16214",
	"37072",
	"37073",
	"37074",
	"11076",
	"34059",
	"38016",
	"26089",
	"26090",
	"3243",
	"3244",
	"3245",
	"7045",
	"7089",
	"7210",
	"7225",
	"7246",
	"7266",
	"7276",
	"7284",
	"7299",
	"7345",
	"7374",
	"13039",
	"1039",
	"1131",
	"1193",
	"1234",
	"44056",
	"40017",
	"40018",
	"-первый-",
	"14144",
	"32134",
	"32135",
	"32136",
	"32137",
	"32138",
	"32139",
	"2013",
	"15171",
	"16194",
	"16195",
	"37060",
	"37061",
	"37062",
	"37063",
	"11068",
	"11069",
	"34051",
	"38012",
	"26077",
	"26078",
	"3226",
	"3227",
	"3229",
	"3230",
	"7025",
	"7052",
	"7209",
	"7222",
	"7245",
	"7301",
	"7335",
	"7348",
	"7373",
	"13030",
	"1192",
	"1200",
	"1224",
	"44044",
	"-Redkom Хабаровск-",
	"1002",
	"1016",
	"1020",
	"1021",
	"1022",
	"1025",
	"1027",
	"1093",
	"1111",
	"1122",
	"1129",
	"1137",
	"1142",
	"1144",
	"1145",
	"1152",
	"1178",
	"1194",
	"1195",
	"1196",
	"1197",
	"1199",
	"1246",
	"-Новосибирск-"
	"3122",
	"3142",
	"3152",
	"3163",
	"3197",
	"3202",
	"3204",
	"3205",
	"3218",
	"3237",
	"3238",
	"3241",
	"3246",
	"3247",
	"3257",
	"3260",
	"3261",
	"3263",
	"3268",
	"3281",
	"3282",
	"13001",
	"13007",
	"13010",
	"13012",
	"13019",
	"13021",
	"13022",
	"13026",
	"13034",
	"13037",
	"13040",
	"13041",
	"13043",
	"13044",
	"13045",
	"13047",
	"13048",
	"13049",
	"13050",
	"13054",
	"7007",
	"7008",
	"7010",
	"7013",
	"7026",
	"7028",
	"7033",
	"7035",
	"7036",
	"7039",
	"7042",
	"7043",
	"7044",
	"7046",
	"7075",
	"7076",
	"7098",
	"7108",
	"7117",
	"7130",
	"7131",
	"7153",
	"7196",
	"7198",
	"7212",
	"7213",
	"7214",
	"7215",
	"7217",
	"7224",
	"7226",
	"7228",
	"7229",
	"7230",
	"7231",
	"7233",
	"7234",
	"7235",
	"7236",
	"7237",
	"7238",
	"7239",
	"7240",
	"7242",
	"7248",
	"7249",
	"7250",
	"7251",
	"7252",
	"7254",
	"7255",
	"7256",
	"7257",
	"7258",
	"7259",
	"7260",
	"7261",
	"7262",
	"7264",
	"7269",
	"7280",
	"7281",
	"7283",
	"7285",
	"7288",
	"7292",
	"7296",
	"7298",
	"7337",
	"7338",
	"7339",
	"7340",
	"7341",
	"7344",
	"7347",
	"7349",
	"7351",
	"7352",
	"7353",
	"7354",
	"7355",
	"7357",
	"7358",
	"7359",
	"7360",
	"7361",
	"7362",
	"7363",
	"7364",
	"7365",
	"7367",
	"7370",
	"7372",
	"7375",
]

Lch=[
	"1HD",
	"2X2",
	"360°",
	"365 ДНЕЙ",
	"6ТВ",
	"8 КАНАЛ",
	"ACB TV",
	"AMC",
	"A-MEDIA 1",
	"A-MEDIA 2",
	"A-MEDIA HIT HD",
	"A-MEDIA PREMIUM HD",
	"ANI",
	"ANIMAL PLANET",
	"ANIMAL PLANET HD",
	"ARIRANG",
	"ASIA AMAZING TV HD",
	"BABY TV",
	"BBC WORLD NEWS",
	"BLUE HUSTLER",
	"BOLLYWOOD",
	"BOLLYWOOD HD",
	"BOOMERANG",
	"BRAZZERS TV",
	"BRIDGE TV",
	"BRIDGE TV CLASSIC",
	"BRIDGE TV DANCE",
	"BRIDGE TV DANGE",
	"BRIDGE TV HD",
	"BRIDGE TV РУССКИЙ ХИТ",
	"C MUSIC TV HD",
	"CANDY",
	"CANDYMAN",
	"CARTOON NETWORK",
	"CCTV 4",
	"CINEMA",
	"CNBC",
	"CNL",
	"CNN",
	"DA VINCI",
	"DEUTSCHE WELLE",
	"DISCOVERY CHANNEL",
	"DISCOVERY SCIENCE",
	"DISNEY CHANNEL",
	"DOCU BOX",
	"DTX",
	"ENGLISH CLUB TV",
	"EROX",
	"EUROPA PLUS TV",
	"EUROSPORT 1",
	"EUROSPORT 1 HD",
	"EUROSPORT 2",
	"EUROSPORT 2 HD",
	"EXTREME SPORTS",
	"FAN TV",
	"FASHION ONE HD",
	"FASHION TV",
	"FAST&FUN BOX",
	"FIGHT BOX",
	"FILM BOX",
	"FILM BOX ARTHOUSE",
	"FINE LIVING HD",
	"FOOD NETWORK HD",
	"FOX",
	"FOX HD",
	"FOX LIFE",
	"FOX LIFE HD",
	"FRANCE 24",
	"FRANCE 24 HD",
	"FRENCH LOVER",
	"GALAXY",
	"GINGER HD",
	"GLOBAL STAR",
	"HDL",
	"HISTORY",
	"HUSTLER HD",
	"ID INVESTIGATION DISCOVERY",
	"INSIGHT UHD",
	"INTERAZ",
	"IZ.RU",
	"IНТЕР+",
	"JIMJAM",
	"KBC WORLD",
	"KBS WORLD HD",
	"MEZZO LIVE HD",
	"MTV",
	"MTV DANCE",
	"MTV HD",
	"MTV HITS",
	"MTV LIVE HD",
	"MTV ROCKS",
	"MUSIC BOX",
	"MUSIC BOX RUSSIAN",
	"MYZEN TV HD",
	"NANO",
	"NAT GEO WILD",
	"NAT GEO WILD HD",
	"NATIONAL GEOGRAPHIC",
	"NATIONAL GEOGRAPHIC HD",
	"NHK WORLD JAPAN",
	"NHK WORLD JAPAN HD",
	"NICK JR.",
	"NICKELODEON",
	"NICKELODEON HD",
	"NU ART TV HD",
	"OCEAN TV",
	"O-LA-LA",
	"OUTDOOR HD",
	"PARAMOUNT COMEDY",
	"PLAYBOY TV",
	"PRO100TV",
	"RTG HD",
	"RTG HD ",
	"RTG TV",
	"RU TV",
	"RUSSIA TODAY",
	"RUSSIA TODAY DOC HD",
	"RUSSIA TODAY HD",
	"RUSSIAN EXTREME",
	"SETANTA SPORTS+",
	"SHANT PREMIUM HD",
	"SHOP 24",
	"SHOP&SHOW",
	"SHOPPING LIVE",
	"SHOT TV",
	"SONY CHANNEL",
	"SONY CHANNEL HD",
	"SONY SCI-FI",
	"SONY TURBO",
	"SPIKE",
	"SPIKE HD",
	"TELETRAVEL HD",
	"THOMEQ",
	"TIJI",
	"TLC",
	"TLC HD",
	"TOP SHOP",
	"TOP SHOP TV",
	"TRAVEL CHANNEL",
	"TRAVEL+ ADVENTURE",
	"TRAVEL+ ADVENTURE HD",
	"TRICK",
	"TV MALL",
	"TV XXI",
	"TV1000",
	"TV1000 ACTION",
	"TV1000 РУССКОЕ КИНО",
	"TVM CHANNEL",
	"TНОМЕР",
	"VH-1 CLASSIC",
	"VH-1 EUROPEAN",
	"VIASAT EXPLORE",
	"VIASAT EXPLORE HD",
	"VIASAT GOLF HD",
	"VIASAT HISTORY",
	"VIASAT HISTORY HD",
	"VIASAT HISTORY/NATURE HD",
	"VIASAT NATURE",
	"VIASAT NATURE HD",
	"VIASAT SPORT",
	"VIASAT SPORT HD",
	"VIP COMEDY HD",
	"VIP MEGAHIT HD",
	"VIP PREMIERE HD",
	"VOSTOK TV",
	"WBC HD",
	"WORLD FASHION",
	"ZEE TV",
	"ZOOПАРК",
	"АВТО 24",
	"АВТО ПЛЮС",
	"АИСТ",
	"АМС",
	"АМУРСКОЕ ОБЛАСТНОЕ ТВ",
	"АРМЕНИЯ ТВ",
	"БЕЛАРУСЬ 24",
	"БЕЛРОС",
	"БОБЕР",
	"БОКС ТВ",
	"БОЛЬШАЯ АЗИЯ",
	"БСТ",
	"В ГОСТЯХ У СКАЗКИ",
	"В МИРЕ ЖИВОТНЫХ",
	"ВМЕСТЕ РФ",
	"ВОПРОСЫ И ОТВЕТЫ",
	"ВОСТОК 24",
	"ВРЕМЯ",
	"ГОРНАЯ СТРАНА",
	"ГРОЗНЫЙ",
	"ГУБЕРНИЯ",
	"ДЕТСКИЙ",
	"ДЕТСКИЙ МИР",
	"ДОЖДЬ",
	"ДОЖДЬ HD",
	"ДОКТОР",
	"ДОМ КИНО",
	"ДОМ КИНО ПРЕМИУМ",
	"ДОМАШНИЕ ЖИВОТНЫЕ",
	"ДОМАШНИЙ",
	"ДОМАШНИЙ МАГАЗИН",
	"ДОРАМА",
	"ДРАЙВ",
	"ЕВРОКИНО",
	"ЕВРОНОВОСТИ",
	"ЕДА",
	"ЕДА ПРЕМИУМ",
	"ЖАРА",
	"ЖИВАЯ ПЛАНЕТА",
	"ЖИВИ!",
	"ЖИВИ! HD",
	"ЗАГОРОДНАЯ ЖИЗНЬ",
	"ЗАГОРОДНЫЙ",
	"ЗВЕЗДА",
	"ЗДОРОВОЕ ТВ",
	"ЗДОРОВЬЕ",
	"ЗОО ТВ",
	"ИЛЛЮЗИОН+",
	"ИНДИЙСКОЕ КИНО",
	"ИСТОРИЯ",
	"ІНТЕР+",
	"КАЛЕЙДОСКОП ТВ",
	"КАРУСЕЛЬ",
	"КАТУНЬ 24",
	"КВН",
	"КИНО ТВ",
	"КИНОКОМЕДИЯ",
	"КИНОМИКС",
	"КИНОПОКАЗ",
	"КИНОПРЕМЬЕРА",
	"КИНОСАТ",
	"КИНОСВИДАНИЕ",
	"КИНОСЕМЬЯ",
	"КИНОСЕРИЯ",
	"КИНОХИТ",
	"КОМЕДИЯ",
	"КОННЫЙ МИР",
	"КРАСНАЯ ЛИНИЯ",
	"КРИК ТВ",
	"КРЫМ 24",
	"КТО ЕСТЬ КТО",
	"КУРАЙ ТВ",
	"КУХНЯ ТВ",
	"КХЛ",
	"КХЛ HD",
	"ЛДПР ТВ",
	"ЛЯ МИНОР",
	"МАМА",
	"МАТЧ!",
	"МАТЧ! HD",
	"МАТЧ! АРЕНА",
	"МАТЧ! БОЕЦ",
	"МАТЧ! ИГРА",
	"МАТЧ! ИГРА HD",
	"МАТЧ! НАШ СПОРТ",
	"МАТЧ! ПРЕМЬЕР",
	"МАТЧ! ПРЕМЬЕР HD",
	"МАТЧ! ФУТБОЛ 1",
	"МАТЧ! ФУТБОЛ 1 HD",
	"МАТЧ! ФУТБОЛ 2",
	"МАТЧ! ФУТБОЛ 2 HD",
	"МАТЧ! ФУТБОЛ 3",
	"МАТЧ! ФУТБОЛ 3 HD",
	"МИНИСТЕРСТВО ИДЕЙ",
	"МИР",
	"МИР 24",
	"МИР 24 HD",
	"МИР PREMIUM HD",
	"МИР СЕРИАЛА",
	"МИР УВЛЕЧЕНИЙ",
	"МОРСКОЙ",
	"МОСКВА 24",
	"МОСКВА ДОВЕРИЕ",
	"МОТОРСПОРТ",
	"МОЯ ПЛАНЕТА",
	"МУЖСКОЕ КИНО",
	"МУЖСКОЙ",
	"МУЗ СОЮЗ",
	"МУЗ ТВ",
	"МУЗЫКА ПЕРВОГО",
	"МУЛЬТ",
	"МУЛЬТИК HD",
	"МУЛЬТИМАНИЯ",
	"МУЛЬТИМУЗЫКА",
	"НАДЕЖДА",
	"НАУКА",
	"НАШ ФУТБОЛ",
	"НАША СИБИРЬ",
	"НАША ТЕМА",
	"НАШЕ TV",
	"НАШЕ КИНО",
	"НАШЕ ЛЮБИМОЕ КИНО",
	"НАШЕ НОВОЕ КИНО",
	"НВК САХА",
	"НОВЫЙ",
	"НОВЫЙ ВЕК",
	"НОСТАЛЬГИЯ",
	"НСК 49",
	"НСТ",
	"НТВ",
	"О!",
	"О!2",
	"ОРУЖИЕ",
	"ОТВ",
	"ОТКРЫТЫЙ МИР",
	"ОТР",
	"ОТС",
	"ОХОТА И РЫБАЛКА",
	"ОХОТНИК И РЫБАЛОВ",
	"ОХОТНИК И РЫБОЛОВ",
	"ПЕРВЫЙ ВЕГЕТАРИАНСКИЙ",
	"ПЕРВЫЙ КАНАЛ",
	"ПЕРВЫЙ КАНАЛ HD",
	"ПЕРВЫЙ ОБРАЗОВАТЕЛЬНЫЙ",
	"ПЕС И КО",
	"ПИК ТВ HD",
	"ПИНГВИН ЛОЛО",
	"ПЛАНЕТА HD",
	"ПОБЕДА",
	"ПОЕХАЛИ!",
	"ПРИКЛЮЧЕНИЯ HD",
	"ПРОБИЗНЕС",
	"ПРОДВИЖЕНИЕ",
	"ПСИХОЛОГИЯ 21",
	"ПЯТНИЦА",
	"ПЯТЫЙ КАНАЛ",
	"РАДОСТЬ МОЯ",
	"РАЗ ТВ",
	"РБК",
	"РЕН ТВ",
	"РЕТРО",
	"РЖД ТВ HD",
	"РОДНОЕ КИНО",
	"РОССИЯ 1",
	"РОССИЯ 1 HD",
	"РОССИЯ 24",
	"РОССИЯ HD",
	"РОССИЯ К",
	"РУССКАЯ КОМЕДИЯ",
	"РУССКАЯ НОЧЬ",
	"РУССКИЙ БЕСТСЕЛЛЕР",
	"РУССКИЙ ДЕТЕКТИВ",
	"РУССКИЙ ИЛЛЮЗИОН",
	"РУССКИЙ РОМАН",
	"РУССКИЙ РОМАН HD",
	"РЫЖИЙ",
	"САРАФАН",
	"СДЕЛАНО В КУЗБАССЕ",
	"СИНЕРГИЯ",
	"СМАЙЛИК ТВ",
	"СОВЕРШЕННО СЕКРЕТНО",
	"СОЮЗ",
	"СПАС",
	"СТС",
	"СТС LOVE",
	"СТС МИР",
	"СУПЕР",
	"ТБН",
	"ТВ3",
	"ТВОЙ ДОМ",
	"ТВЦ",
	"ТДК",
	"ТЕАТР",
	"ТЕЛЕДОМ",
	"ТЕЛЕКАНАЛ ФУТБОЛ",
	"ТЕЛЕКАФЕ",
	"ТЕЛЕПУТЕШЕСТВИЯ",
	"ТЕХНО 24",
	"ТЕХНО24",
	"ТЛУМ HD",
	"ТНВ ПЛАНЕТА",
	"ТНВ ТАТАРСТАН",
	"ТНТ",
	"ТНТ MUSIC",
	"ТНТ4",
	"ТОЛЬЯТТИ 24",
	"ТОЧКА ТВ",
	"ТРИ АНГЕЛА",
	"УСАДЬБА",
	"УСПЕХ",
	"ФЕНИКС+ КИНО",
	"ХАБАРОВСК ТВ HD",
	"ЧЕ",
	"ШАНСОН ТВ",
	"ЭВРИКА HD",
	"ЮВЕЛИРОЧКА",
	"ЮМОР",
]
