Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
Ch-_c@sPddlmZddlmZmZddlmZmZm	Z	m
Z
mZddlm
Z
ddlZddlZyddlZWnek
r¥ddlZnXddlmZmZmZddlmZedd	d
eƒejj_edd	d
eƒejj_d„Zd„Zd
efd„ƒYZ defd„ƒYZ!dS(iÿÿÿÿ(tTranslateTXT(t	CHostBasetCBaseHostClass(tprintDBGtprintExctbyteifytrmt
MergeDicts(tgetDirectM3U8PlaylistN(tconfigt
ConfigTexttgetConfigListEntry(t
MessageBoxtdefaulttt
fixed_sizecCs\g}|jttdƒdtjjjƒƒ|jttdƒdtjjjƒƒ|S(Ntlogint:tpassword(tappendRt_R	tpluginst
iptvplayertvumedicom_logintvumedicom_password(t
optionList((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyt
GetConfigList"s))cCsdS(Nshttps://vumedi.com/((((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pytgettytul*stVUMEDIcBs¡eZd„Zidd„Zdd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zdddd„ZRS(cCsÔtj|idd6dd6ƒd|_i|jd6dd6|_t|jƒ|_|jjid	d
6dd6ƒd
|_d|_i|jd6t	d6t	d6t	d6|j
d6|_d|_
d|_d|_dS(Ns
vumedi.comthistorysvumedi.comcookietcookiesMozilla/5.0s
User-Agents	text/htmltAccepttXMLHttpRequestsX-Requested-Withs0application/x-www-form-urlencoded; charset=UTF-8sContent-Typeshttps://www.vumedi.com/s/https://pbs.twimg.com/media/DZTZrVhW4AAekGB.jpgtheadert
use_cookietload_cookietsave_cookiet
cookiefileR(Rt__init__t
USER_AGENTtHEADERtdicttAJAX_HEADERtupdatetMAIN_URLtDEFAULT_ICON_URLtTruetCOOKIE_FILEt
defaultParamstNonetloggedInRR(tself((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyR&/s			2		cCs4|ikrt|jƒ}n|jj|||ƒS(N(R)R0tcmtgetPage(R3tbaseUrlt	addParamst	post_data((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyR5?scCs‹|jj|ƒr`|dkr`|jdƒrC|jj|ƒ}q`|jddƒdd}ntj||jddƒjddƒ|ƒS(Nt/iis&t&s&(	R4t
isValidUrlR1t
startswitht
getBaseUrltrsplitRt
getFullUrltreplace(R3turlR6((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyR?Ds
cCs¤tdƒidd6tdƒd6|jƒd6idd6tdƒd6|jd	ƒd6id
d6tdƒd6td6id
d6tdƒd6g}|j||ƒdS(NsVUMEDI.listMainMenut	list_spectcategorytSpecialitiesttitleRAt	list_sorts
Browse videoss/video/browse/tsearchtSearchtsearch_itemtsearch_historysSearch history(RRt
getMainUrlR?R.tlistsTab(R3tcItemtMAIN_CAT_TAB((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pytlistMainMenuJs
$'cCs)|j|dƒ\}}|s#dS|jjd}|j|ƒd|kržt|ƒ}|jitd6dd6|d6|d6tdƒd6ƒ|j|ƒn|jj	j
|ddtƒd}|jj	j|d
dƒ}xG|D]?}|jddƒ}t
|ƒdkrqân|j|dƒ}	|j|jj	j|ddƒdjddƒd|ƒ}
g}|jj	j|dddƒ}xŽ|D]†}|j|jj	j|dƒd|ƒ}
|j|ƒ}t|ƒ}|jitd6dd6|d6|d6|
d6ƒ|j|ƒqWt
|ƒrÉ|
dkr„t|ƒ}|jitd6dd6|d6tdƒd6|
d6ƒ|jd|ƒnt|ƒ}|jidd6dd6|	d6|d6ƒ|j|ƒqâ|
dkrât|ƒ}|jitd6dd6|d6|	d6|
d6ƒ|j|ƒqâqâWdS(NRAs
news-feedstgood_for_favRCtnames	News FeedREs<navt>s
secondary-navs</navis<lis</li>s</a>iishref=['"]([^"^']+?)['"]t#s<aRs--All--t	sub_items(s<navRRs
secondary-nav(s</navRR(R5R4tmetat
setMainUrlR)R+tFalseRtaddDirtphtgetDataBeetwenNodestgetAllItemsBeetwenMarkerstsplittlentcleanHtmlStrR?tgetSearchGroupsR.Rtinsert(R3RMt
nextCategory1t
nextCategory2tststdatatcUrltparamstsItemtsTitletsUrlt
categoriestitemRARE((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pytlistCategoriesSsJ
6"
<
(06)0c
CsG|j|dƒ\}}|s#dS|jjd}|j|ƒ|jjj|ddƒ}xn|D]f}|jddƒ}t|ƒdkr’qbn|j|d	ƒ}|j	d
ƒrÁ|d }ng}|jjj
|ddd
ƒ}xŽ|D]†}	|j|jjj|	dƒd	|ƒ}
|j|	ƒ}t
|ƒ}|jitd6dd6|d6|d6|
d6ƒ|j|ƒqíWt|ƒrbt
|ƒ}|jidd6dd6|d6|d6ƒ|j|ƒqbqbWt
|ƒ}|jitd6dd6|d6|d6tdƒd6ƒt|jƒr3|jjd	|ƒn|j|dƒdS(NRAs<h2RRtfilterss</divs</h2>iiiRiÿÿÿÿs<as</a>shref=['"]([^"^']+?)['"]RPRCRQRERTs--All--t
list_items(s<h2RRsfilters(s</divRR(R5R4RURVRYtgetAllItemsBeetwenNodesR\R]R^tendswithR[R?R_R)R+R.RRXRtcurrListR`tlistSort(
R3RMtnextCategoryRcRdReRgRhRjRkRARERf((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyt
listTopics{s<



(0)6c
Cs|j|dƒ\}}|s#dS|jjd}|j|ƒ|jjj|ddtƒd}|jjj|ddƒ}xŽ|D]†}|j|jjj	|d	ƒd
|ƒ}|j
|ƒ}t|ƒ}	|	jit
d6dd
6|d6|d6|d6ƒ|j|	ƒq„WdS(NRAs<divRRtnavbarSpecDropdowns</divis<as</a>shref=['"]([^"^']+?)['"]iRPRCRQRE(s<divRRRu(s</divRR(R5R4RURVRYRZRWR[R?R_R^R)R+R.RX(
R3RMRsRcRdReRkRARERf((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pytlistSpecialitiesœs
"
(0c
Cs.td|ƒ|j|dƒ\}}|s1dS|jjd}|j|ƒ|jjj|ddtƒd}|jjj|dd	ƒ}xœ|D]”}|j	|jjj
|d
ƒd|ƒ}|dkrÕ|}n|j|ƒ}t|ƒ}	|	j
id
d6|d
6|d6|d6ƒ|j|	ƒq’WdS(NsVUMEDI.listItems [%s]RAt<RRssort-dropdown"s</divis<as</a>shref=['"]([^"^']+?)['"]iRRCRQRE(RwRRssort-dropdown"(s</divRR(RR5R4RURVRYRZRWR[R?R_R^R)R+RX(
R3RMRsRcRdReRkRARERf((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyRr«s 
"
(	)cCs>td|ƒ|jddƒ}|jdj|ƒƒ}t|jƒ}t|ji|dd6ƒ|d<|j||ƒ\}}|sŠdSy•t	t
j|ƒƒ}|jdd	ƒ}|d
}|j||ƒ||krt|ƒ}|j
itd6tdƒd
6|d6ƒ|j|ƒnWntk
r9tƒnXdS(NsVUMEDI.listNewsFeed [%s]tpageis/beats/{0}/?is_long=trueRAtRefererR!tstartiÿÿÿÿtbeatsRPs	Next pageRE(RtgetR?tformatR)R0RR*R5RtjsontloadstlistVideoItemsR+RWRRXt	ExceptionR(R3RMRxRARfRcRdtnextPage((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pytlistNewsFeed½s&!
(
cCsf|jjj|ddtƒ}xA|D]9}|j|jjj|dd tƒdƒjƒ}d	|krzd
|krzq%n|jjj|d!d"tƒd}|j|jjj|dƒdj	ƒƒ}|dkrÙq%n|j
|jjj|dƒdƒ}|j|ƒ}|g}	g}xgddgD]Y}
|j|jjj|dd|
fd#tƒdƒ}|dkruq)n|j|ƒq)W|	jdj|ƒƒg}xQ|jjj
|ddƒD]4}|j|ƒ}|dkråq¾n|j|ƒq¾W|	jdj|ƒƒt|ƒ}|jitd6|d6|d6|d6dj|	ƒd6ƒ|j|ƒq%WdS($Ns<divRRs
video-items</ulRwsvideo-durations</iRtVIDEOs<ht_titles</hs\shref=['"]([^'^"]+?)['"]iRs6\ssrc=['"]([^"^']+?\.(?:jpe?g|png)(?:\?[^'^"]*?)?)['"]t_authort_descs | s<lis</li>RPRERAticons[/br]tdesc(s<divRRs
video-item(s</ulRR(RwRRsvideo-duration(s</RR(s<hRRR…(s</hRR(s</RR(R4RYRoRWR^RZtupperR?R_tstriptgetFullIconUrlRtjoinR[R)R+R.taddVideo(R3RMRdRkttttmpRARˆRER‰tmarkerRf((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyR€Ös:
1"+%	4"9cCstd|ƒ|jddƒ}|j|dƒ\}}|sCdS|jjd}|j|ƒ|jjj|ddƒd}|jjj|d	|dƒd
}|j	||ƒ|rt
|ƒ}|jitd6t
dƒd
6|dd6|j||ƒd6ƒ|j|ƒndS(NsVUMEDI.listItems [%s]RxiRAs<ulRRt
paginations</uls,<a[^>]+?href=['"]([^'^"]+?)['"][^>]*?>%s</a>iRPs	Next pageRE(s<ulRRR’(s</ulRR(RR|R5R4RURVRYRZR_R€R)R+RWRR?RX(R3RMRxRcRdReR‚Rf((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyt	listItems÷s
$?cCshtd|||fƒ|jƒt|ƒ}|jdƒtj|ƒ|d<d|d<|j|ƒdS(NsCVUMEDI.listSearchResult cItem[%s], searchPattern[%s] searchType[%s]s/search/?q=RARnRC(Rt
tryTologinR)R?turllibtquoteR“(R3RMt
searchPatternt
searchType((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pytlistSearchResult
s
 
c
Cs!td|ƒ|jƒ|j|dƒ\}}|s;gS|j|jjdƒd}|d}|jjj|dƒd}t||dt	dt
d	d
ƒ}dt|ƒkr|jjj|d(d)ƒd}|jjj|dƒd}|jjj|dƒd}	|d|	|f}
|j|
ƒ\}}|s<gSyÃt|ƒt
tj|ƒƒd}|jƒd}||}|d}|jd|ƒ}	|d|	||jj|jƒt
ƒf}
|j|
ƒ\}}|sãgSt|ƒt
tj|ƒƒd|d}xí|D]å}
d}
|
dddkrOtj|
ddƒ}
n|jj|
ƒsgqn|
ddkrÂd |
d!|
d"|
d#|
d$f}|ji|d%6|
d6dd&6ƒq|
dd'kr|jt|
dt	dt
d	d
ƒƒqqWWqtk
rtƒqXn|S(*NsVUMEDI.getLinksForVideo [%s]RAshttp://player.ooyala.com/shls/player/all/%s.m3u8sdata\-video=['"]([^'^"]+?)['"]itcheckExttcheckContenttsortWithMaxBitrateiÿɚ;svar t{tplayerParamt}t;is4['"]?playerBrandingId['"]?\s*\:\s*['"]([^'^"]+?)['"]s)['"]?pcode['"]?\s*\:\s*['"]([^'^"]+?)['"]s,player_api/v1/content_tree/embed_code/%s/%s?tcontent_treet
embed_codetasset_pcodesGsas/player_api/v2/authorization/embed_code/%s/%s?device=html5&domain=%stauthorization_datatstreamsRR}tencodedRdt
delivery_typetmp4smp4 %s %sx%s %sfpstvideo_codectwidththeightt	framerateRQtneed_resolvethls(svar RRž(RŸR (RR”R5RVR4RURYR_RRWR.R]RZRR~RtkeysR|R=RKtbase64t	b64decodeR;RtextendRR(R3RMRcRdt
playerBaseR6tvideoIdtretTabt	partnerIdtpcodeRAtkeyt	embedCodeRkRQ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pytgetLinksForVideosZ

"


,
!
&%0
cCsztdƒd|jksO|jtjjjjksO|j	tjjj
jkrstjjjj|_tjjj
j|_	t|jƒt
|_d|jjƒks¹d|j	jƒkrï|jjttd|jƒƒdtjddƒt
S|j|jdƒƒ\}}|st
S|jjd}|j|ƒ|jjj|d!d"ƒ\}}|s_t
S|jj|jjj|dƒd
|jj|ƒƒ}|dkr«|}ni}|jjj|dd
ƒ}|j|jjj|dd
ƒƒx\|D]T}|jjj|dƒd
}|jjj|dƒd
j ddƒ}	|	||<qõW|j!i|jd6|j	d6ƒt"|j#ƒ}
t"|
dƒ|
d<||
dd<|jj||
|ƒ\}}|råd|kråtdƒt$|_n|jsstdƒg}|r8|j%|j&|jjj|d#d$t
ƒdƒƒn|jjtdj'|ƒdtjddƒtd ƒqsn|jS(%NstryTologin startRsThe host %s requires registration. 
Please fill your login and password in the host configuration. Available under blue button.ttypettimeouti
s/accounts/login/RAs<formRRs</formsaction=['"]([^'^"]+?)['"]is<inputs<buttonsname=['"]([^'^"]+?)['"]svalue=['"]([^'^"]+?)['"]s&amp;R:tusernameRR!Rys/logouts
tryTologin OKs
Login failed.s<divs
alert-warningRwis
stryTologin failed(s<formRR(s</formRR(s<divRRs
alert-warning(RwRR((RR1R2RR	RRRtvalueRRRR/RWR‹t	sessionExtopenRRRKt
TYPE_ERRORR5R?R4RURVRYRZR_R=R[R²R@R+R)R0R.RR^R(R3RcRdRet	actionUrlR8t	inputDataRkRQR¾t
httpParamsterrorMessage((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyR”EsV
*
	*2
!7	"
(!
	5+iRc	CsCtdƒtj|||||ƒ|jƒ|jjddƒ}|jjddƒ}|jjddƒ}td||fƒg|_|dkr³|jidd6dd6ƒny|dkrÕ|j	|jd	ƒnW|d
krô|j
|jƒn8|d	kr|j|jd
dƒn|dkr;|j|jdƒnñ|dkr]|j
|jd
ƒnÏ|d
kr||j|jƒn°|dkr£|jjdgƒ|_n‰|dkrït|jƒ}|jitd6dd6ƒ|j|||ƒn=|dkr%|jidd6dd6dtdƒƒntƒtj|||ƒdS(NshandleService startRQRRCtmodes)handleService: || name[%s], category[%s] R»RBt	list_catst	news_feedtlist_topicsRFRnRTRGtsearch_next_pageRIRJRR‰sType: (ssearchRÊ(RRt
handleServiceR”tcurrItemR|RqR1RORvRƒRlRtRrR“R)R+RWR™tlistsHistoryRRtendHandleService(	R3tindextrefreshR—R˜RQRCRÆRM((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyRËys@

	*N(t__name__t
__module__R&R1R5R?RORlRtRvRrRƒR€R“R™RºR”RË(((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyR-s				(	!				!				2	4tIPTVHostcBseZd„ZRS(cCs tj|tƒtdgƒdS(NtfavouriteTypes(RR&RR.(R3((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyR&§s(RÑRÒR&(((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyRÓ¥s("t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRRt.Plugins.Extensions.IPTVPlayer.components.ihostRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRRRt2Plugins.Extensions.IPTVPlayer.libs.urlparserhelperRR•R°R~Rt
simplejsontComponents.configR	R
RtScreens.MessageBoxRRWRRRRRRRRÓ(((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostvumedicom.pyt<module>s$(
		ÿy