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@s±ddlmZddlmZmZddlmZmZddl	m
Z
ddlmZddl
Z
ddlmZd„Zd	efd
„ƒYZdefd„ƒYZdS(
iÿÿÿÿ(tTranslateTXT(t	CHostBasetCBaseHostClass(tprintDBGtprintExc(tstrwithmeta(t
js_executeN(turlparsecCsdS(Nshttps://watchcartoononline.com/((((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pytgettytulstWatchCartoonOnlinecBsqeZd„Zidd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	d
d
d„ZRS(
cCsÂtj|idd6dd6ƒd|_i|jd6dd6|_t|jƒ|_|jjid	d
6dd6ƒd
|_d|_i|jd6t	d6t	d6t	d6|j
d6|_i|_dS(Nswatchcartoononline.comthistoryswatchcartoononline.com.cookietcookiesMozilla/5.0s
User-Agents	text/htmltAccepttXMLHttpRequestsX-Requested-Withs0application/x-www-form-urlencoded; charset=UTF-8sContent-Types#https://www.watchcartoononline.com/sŠhttps://mk0echouaawhk9ls0i7l.kinstacdn.com/wp-content/uploads/websites/website%20to%20watch%20cartoons/www.watchcartoononline.com.1280.jpgtheadert
use_cookietload_cookietsave_cookiet
cookiefile(
Rt__init__t
USER_AGENTtHEADERtdicttAJAX_HEADERtupdatetMAIN_URLtDEFAULT_ICON_URLtTruetCOOKIE_FILEt
defaultParamst
cacheLinks(tself((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyRs			2cs~|ikrtˆjƒ}n‡‡fd†}iˆjjˆƒd6ˆjd6ˆjd6|d6|d<ˆjjˆ||ƒS(Ncs'ˆjj|ƒr|Stˆ|ƒSdS(N(tcmt
isValidUrlturljoin(turl(tbaseUrlR(sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyt_getFullUrl*stdomaintcookie_files
User-Agenttfull_url_handletcloudflare_params(RRtupt	getDomainRRR tgetPageCFProtection(RR$t	addParamst	post_dataR%((R$RsU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pytgetPage's
8cs
tdƒˆjˆjƒƒ\}}|s/dSˆjˆjjdƒ||jdƒ}ˆjjj|ddt	ƒd}ˆjjj
|d	d
ƒ}g}x|D]‡}d|kr»q£nˆjˆjjj|dƒd
ƒ}ˆj
|ƒ}tˆƒ}	|	jidd6|d6|d6ƒˆj|	ƒq£W‡‡fd†}
ˆjjj|ddt	ƒd}tjdƒj|ƒ}|jˆjjj|d d!t	ƒdƒx|D]}|
|ƒqªWidd6tdƒd6td6idd6tdƒd6g}ˆj|ˆƒdS("NsWatchCartoonOnline.listMainMenuR#s<bodys<ult>snav-bars</ulis<lis</li>tactiveshref=['"]([^"^']+?)['"]itlist_abctcategoryttitlec
sÉ|jddƒ}ˆj|djddƒdƒ}d|jƒkrVd}t}nd}t}ˆjjj|dd	|d
|ƒ}g}xé|D]á}ˆjˆjjj	|dƒdƒ}ˆj|ƒ}ˆj
ˆjjj	|dƒdƒ}tˆƒ}	|	ji|d
6|d6|d6ƒ|j
dƒs8|rO|	jidd6ƒn|	jitd6dd6ƒ|j|	ƒq–Wt|ƒrÅtˆƒ}	|	jidd6|d
6|d6ƒˆj|	ƒndS(Ns</div>iis - tgenretatliiÿÿÿÿt<s</%s>shref=['"]([^"^']+?)['"]s <img[^>]+?src=['"]([^"^']+?)['"]R4R#ticons-listR2R3tgood_for_favtexplore_itemt	sub_items(tsplittcleanHtmlStrtlowerRtFalseR tphtgetAllItemsBeetwenMarkerst
getFullUrltgetSearchGroupstgetFullIconUrlRRtendswithtappendtlentaddDir(
tdatattabTitletnodeR5ttabItemstitemR#R4R9tparams(tcItemR(sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyt
_fillItemsFs.#	'
%%""s<divsrecent-release-mainssidebar-s&<div[^>]+?recent\-release\-main[^>]+?>ssidebar-alltsearchtSearchtsearch_itemtsearch_historysSearch history(s<ulR0snav-bar(s</ulR0(s<divR0srecent-release-main(s<divR0ssidebar-(s<divR0ssidebar-all(s</ulR0(RR/t
getMainUrlt
setMainUrlR tmetatfindRAtgetDataBeetwenNodesR@RBRCRDR>RRRItretcompileR=RGt_RtlistsTab(RRPtstsRJttmpRMRNR#R4RORQtMAIN_CAT_TAB((RPRsU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pytlistMainMenu2s4
"
%"")
cCsútdƒ|j|dƒ\}}|s-dS|j|jjdƒ|jjj|ddtƒd}|jdƒ}x~t	t
|ƒƒD]j}|j|jjj||d	dtƒdƒ}|jjj
||d
dƒ}g}x°|D]¨}	|j|jjj|	dƒd
ƒ}
|j|	ƒ}|j|jjj|	dƒd
ƒ}t|ƒ}
|
jitd6dd6|d6|
d6|d6ƒ|j|
ƒqéWt
|ƒrˆt|ƒ}
|
jidd6|djt
|ƒƒd6|d6ƒ|j|
ƒqˆqˆWdS(NsWatchCartoonOnline.listABCR#s<divR0tddmcc_containers</divis<ps</p>s<lis</li>shref=['"]([^"^']+?)['"]is <img[^>]+?src=['"]([^"^']+?)['"]R:R;R3R4R9R<s ({0}) (s<divR0Rc(s</divR0(RR/RWR RXRARZR@R=trangeRHR>trgetDataBeetwenMarkers2RBRCRDRERRRRGtformatRI(RRPtnextCategoryR_RJtidxRKttabDataRMRNR#R4R9RO((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pytlistABCns,
"/
%%05cCs™tdƒ|j|dƒ\}}|s-dS|j|jjdƒt|ƒ}|d|d<|jjj|d#d$tƒd}|j	|jjj
|d	ƒd
ƒ}g}|jjj|ddƒd}|jjj|d
dƒ}x9|D]1}|j
|ƒ}|dkrì|j|ƒqìqìW|j
|jjj|ddƒdƒddj|ƒ}|d|j
|jjj|ddƒdƒ7}|ji|d6|d6ƒd|ks½d|krÍ|j|ƒn|jjj|d%d&tƒd}|jjj|d'd(ƒd}|j
|ƒ}	|j	|jjj
|ddtƒd
ƒ}
td|	ƒtd|
ƒtd|jjdƒd|	|
gkrâ|
|jjdkrât|ƒ}|jitd6|
d6|	d 6ƒ|j|ƒn|jjj|d)d*ƒd}|jjj|d+d,ƒ}xv|D]n}|j	|jjj
|dƒd
ƒ}
|j
|ƒ}t|ƒ}|ji|d 6|
d6ƒ|j|ƒq#WdS(-NsWatchCartoonOnline.exploreItemR#tprev_urls<divR0svideo-titlessidebar-titlesis <img[^>]+?src=['"]([^'^"]+?)['"]is<bs</div>s<as</a>ts</b>t s, s[/br]s<ps</p>tdescR9s-video-0svideo too slows
header-tags</divs</ashref=['"]([^"^']+?)['"]s>>>>>>>>>>>>>>>> R:R4scat-epstsidebar(s<divR0svideo-title(s<divR0ssidebar-titles(s<divR0s
header-tag(s</divR0(s<aR0(s</aR0(s<divR0scat-eps(s<divR0Ro(s<divR0scat-eps(s</divR0(RR/RWR RXRRARZR@RCRDtgetDataBeetwenMarkersRBR>RGtjoinRtaddVideoRRItgetAllItemsBeetwenNodes(RRPR_RJtdescDataR9RnR`tttcatTitletcatUrlRORNR#R4((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pytexploreItemˆsP
"%
90"+("
%cCsÉtd|||fƒ|jdƒ}|j|ƒ\}}|sEdS|j|jjdƒ|jdƒ}|j|ii|d6|d6ƒ\}}|sždS|jjj|ddtƒd
}|jjj	|ddƒ}xç|D]ß}|j|jjj
|d
ƒdƒ}|j|ƒ}|j|jjj
|dƒdƒ}	y|jt
|ƒjƒ}Wntk
rwtƒnXt|ƒ}
|
jitd6dd6|d6|d6|	d6ƒ|j|
ƒqâWdS(NsOWatchCartoonOnline.listSearchResult cItem[%s], searchPattern[%s] searchType[%s]s/searchR#tcataratkonuaras<ulR0titemss</ulis<lis</li>shref=['"]([^"^']+?)['"]is <img[^>]+?src=['"]([^"^']+?)['"]R:R;R3R4R9(s<ulR0sitems(s</ulR0(RRCR/RWR RXRARZR@RBRDR>RERtpatht	ExceptionRRRRRI(RRPt
searchPatternt
searchTypeR#R_RJRNR4R9RO((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pytlistSearchResult½s.)"
%%
0cCsžt|ƒ|jjj|ddtƒd}d|}t|ƒ}|dršd|dkršt|d	ƒ|jjj|d	d
dtƒdjddƒSd
S(Ns<scriptR0s</scriptis÷var document={write:function(e){print(e)}};window=this,window.atob=function(e){e.length%4==3&&(e+="="),e.length%4==2&&(e+="=="),e=Duktape.dec("base64",e),decText="";for(var t=0;t<e.byteLength;t++)decText+=String.fromCharCode(e[t]);return decText};R_itcodeRJs#<iframe[^>]+?src=['"]([^"^']+?)['"]s&amp;t&Rl(s<scriptR0(s</scriptR0(	RR RARZR@RRDRtreplace(RRJtjscodetret((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyt_getPlayerDataØs
"
0c	CsItd|ƒg}|d}|jj|gƒ}t|ƒrC|S|j|dƒ\}}|sfdS|j|jjdƒ|jjd}|jjj	|ddƒd}|j
|ƒ}|dkr)|ji|jj
|jjdƒjd	dƒd
6|jj||jj|ƒƒd6dd6ƒn|j|jjj|ddtƒd
ƒ}|j|ƒ\}}|ss|S|jjd}|jjj	|ddƒd}|j
|ƒ}|dkr&|ji|d6|jj
|jjdƒjd	dƒd
6|jj||jj|ƒƒd6dd6ƒnt|ƒrEi||6|_n|S(Ns(WatchCartoonOnline.getLinksForVideo [%s]R#s<divR0s-video-s</scriptiRlswww.tnametneed_resolves<a[^>]+?href=['"]([^"^']+?)['"]is<metatembedURLt	cache_key(s<divR0s-video-(s</scriptR0(s<metaR0R‰(s</scriptR0(RRtgetRHR/RWR RXRARZR†RGR*R+RƒRCt
getBaseUrlRDR(	RRPturlTabtcacheKeyR_RJtcUrlt	playerUrltaltUrl((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pytgetLinksForVideoâs6
b+icCsçtd|ƒt|ƒjjddƒ}x|jD]’}x‰tt|j|ƒƒD]n}||j||dkrS|j||djdƒs½d|j||d|j||d<nPqSqSWq3Wt|ƒjjd|jj	|ƒƒ}t
|jƒ}t
|dƒ|d<||dd<|j||ƒ\}}|sCdS|jjd}|j
j|ƒjd	dƒ}	g}
g}|jjj|d
dƒ}t|ƒx>|D]6}
|
jdd
ƒ}
d|
jƒkrÙq©n|jjj|
dƒd}|jjj|
dƒd}|dkr<|jjj|
dƒd}n|jjj|
dƒd}||
kr©|
j|ƒ|jj||jj	|ƒƒ}|jidj|jd
dƒd||	ƒd6t|i|d6ƒd6ƒq©q©W|S(Ns%WatchCartoonOnline.getVideoLinks [%s]RŠRlR#R‡t*tRefererRswww.t{t}s\/t/s	video/mp4s%type['"]?\s*[=:]\s*['"]([^"^']+?)['"]is&label['"]?\s*[=:]\s*['"]([^"^']+?)['"]s'format['"]?\s*[=:]\s*['"]([^"^']+?)['"]s$src['"]?\s*[=:]\s*['"]([^"^']+?)['"]s
[{0}] {1} {2}i(RRRXR‹RRdRHt
startswithR RŒRRR/R*R+RƒRARBR?RDRGRCRfR=(RtvideoUrltkeyRhtrefererROR_RJRR&t
uniqueUrlsRR{RNttypetlabelR#((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyt
getVideoLinkssF +'


!QiRlc	Csøtdƒtj|||||ƒ|jjddƒ}|jjddƒ}|jjddƒ}td||fƒg|_t|jƒ|_|jjddƒ|dkrÎ|j	idd6dd6ƒn|d	krð|j
|jd
ƒnñ|dkr|j|jdƒnÏ|dkr1|j|jƒn°|d
krX|jjd
gƒ|_n‰|dkr¤t|jƒ}|j
itd6dd6ƒ|j|||ƒn=|dkrÚ|jidd6d
d6dtdƒƒntƒtj|||ƒdS(NshandleService startR‡RlR3tmodes)handleService: || name[%s], category[%s] R:RR2R<t
list_itemsR;RRtsearch_next_pageRTRUR
RnsType: (ssearchR¢(RRt
handleServicetcurrItemR‹tcurrListRtpoptNoneRbRjt	listItemsRxRR@R€tlistsHistoryR]RtendHandleService(	RtindextrefreshR~RR‡R3R RP((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyR£/s6
	*N(
t__name__t
__module__RR§R/RbRjRxR€R†R’RŸR£(((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyR	s		<		5		
	%	(tIPTVHostcBseZd„Zd„ZRS(cCs tj|tƒtdgƒdS(NtfavouriteTypes(RRR	R(R((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyRWscCs<g}|jtdƒdfƒ|jtdƒdfƒ|S(NsAnime SearchtseriessEpisode Searchtepisodes(RGR](RtsearchTypesOptions((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pytgetSearchTypesZs(R­R®RR´(((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyR¯Us	(t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRR]t.Plugins.Extensions.IPTVPlayer.components.ihostRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtypesRt)Plugins.Extensions.IPTVPlayer.tools.e2ijsRR[RRR	R¯(((sU/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostwatchcartoononline.pyt<module>s	ÿ?