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@snddlmZddlmZmZddlmZmZm	Z	m
Z
mZmZm
Z
ddlmZddlmZddlmZddlmZddlZdd	lmZmZmZdd
lmZeddd
eƒejj _!eddd
eƒejj _"eddd
eƒejj _#d„Z$d„Z%defd„ƒYZ&defd„ƒYZ'dS(iÿÿÿÿ(tTranslateTXT(t	CHostBasetCBaseHostClass(tprintDBGtprintExct
MergeDictstrmtGetCookieDirtReadTextFilet
WriteTextFile(tph(tloads(thexlify(tmd5N(tconfigt
ConfigTexttgetConfigListEntry(t
MessageBoxtdefaulttt
fixed_sizecCsyg}|jttdƒtjjjƒƒ|jttdƒtjjjƒƒ|jttdƒtjjjƒƒ|S(NsAlternative domain:tlogintpassword(	tappendRt_Rtpluginst
iptvplayertfilmixco_alt_domaintfilmixco_logintfilmixco_password(t
optionList((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyt
GetConfigList"s
%%%cCsdS(Nshttps://filmix.co/((((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytgettytul+stFilmixCOcBsÂeZd„Zd„Zidd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zd„Zd„Zd„Zdddd„ZRS(cCsítj|idd6dd6ƒd|_i|jd6dd6|_t|jƒ|_|jjid	d
6dd6ƒd
|_d|_it	d6|jd6t	d6t	d6t	d6|j
d6|_g|_t
|_d|_d|_d|_dS(Ns	filmix.cothistorysfilmix.co.cookietcookiesMozilla/5.0s
User-Agents	text/htmltAccepttXMLHttpRequestsX-Requested-Withs0application/x-www-form-urlencoded; charset=UTF-8sContent-Typeshttps://filmix.co/s9http://www.userlogos.org/files/logos/jumpordie/filmix.pngt
with_metadatatheadert
use_cookietload_cookietsave_cookiet
cookiefileR(Rt__init__t
USER_AGENTtHEADERtdicttAJAX_HEADERtupdatetMAIN_URLtDEFAULT_ICON_URLtTruetCOOKIE_FILEt
defaultParamstcacheFilterstFalsetdomainSelectedtNonetloggedInRR(tself((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyR,0s			9				cCsybd}d}x9|t|ƒkrJ|d|||d!7}|d7}qW|jdƒjdƒSWntk
r|tƒnXdS(NiRs\u0isunicode-escapesUTF-8(tlentdecodetencodet	ExceptionR(R<tsttidxtst2((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyt
getUtf8StrCs
cCsR|ikrt|jƒ}ni|jd6|jd6|d<|jj|||ƒS(Ntcookie_files
User-Agenttcloudflare_params(R/R6R5R-tcmtgetPageCFProtection(R<tbaseUrlt	addParamst	post_data((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytgetPageOscCsæ|jr
dSt|_ddg}tjjjjjƒ}|jj	|ƒr€|ddkri|d7}n|j
d|dƒnt}xY|D]Q}|j|ƒ\}}|s´qnd|krØ|j
|jdƒPqt}qWdS(	Nshttp://filmix.cc/filmsshttps://filmix.co/filmsiÿÿÿÿt/itfilmss/filmsturl(R9R4RRRRtvaluetstripRGt
isValidUrltinsertR8RLt
setMainUrltmeta(R<tdomainstdomaintststdata((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytselectDomainTs$		

c
Cs5tdƒ|j|jdƒƒ\}}g|_|r®|jjj|d"d#ƒd}|jjj|d$d%ƒ}x:|D]/}|jjj|dƒd}|jjj|d
ƒd}|dkrã|jj	i|d6|d6ƒqxg}t
jd|ƒj|ƒ}xr|D]j}	|j
|	dƒ}
|jjj|	ddƒd}|dkrWqn|j	i|
d6|d|6ƒqWt|ƒrx|jj	i|d6|d6ƒqxqxWnidd6dd6|jdƒd6idd6tdƒd6idd6tdƒd6td6id d6td!ƒd6g}|j||ƒdS(&NsFilmixCO.listMainMenus/filmss<formt>tfiltersForms</formis</divs<divsfilter-categorys \sdata\-scope=['"]([^'^"]+?)['"]is\sdata\-type=['"]([^'^"]+?)['"]Rtscopettypes;<(?:div|span)([^>]+?data\-scope=['"]%s['"][^>]*?)>([^>]+?)<s \sdata\-value=['"]([^'^"]+?)['"]ttitlesf_%stvaluesttop250tcategorys
ТОП 250s/top250ROtfilterstFilterstsearchtSearchtsearch_itemtsearch_historysSearch history(s<formR[R\(s</formR[(s</divR[(s<divR[sfilter-category(RRLt
getFullUrlR7RGR
tgetDataBeetwenNodestrgetAllItemsBeetwenNodestgetSearchGroupsRtretcompiletfindalltcleanHtmlStrR=RR4tlistsTab(
R<tcItemRXRYttmptitemR]R^R`titR_RPtMAIN_CAT_TAB((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytlistMainMenugs4
	
!
 #(!cCsstdƒxbd
ddgD]Q}t|ƒ}|ji|d6|d	d
6|d|dd6ƒ|j|ƒqWdS(NsFilmixCO.listMainMenusФильмыRsСериалыtssМультфильмыtmRbiR_ROi(sФильмыR(sСериалыRx(sМультфильмыRy(RR/R1taddDir(R<RrtnextCategoryRttparams((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyt
top250Type…s

2cCsstdƒxbd
ddgD]Q}t|ƒ}|ji|d6|d	d
6|d|dd6ƒ|j|ƒqWdS(NsFilmixCO.listTop250sТоп 250 filmix.meRsТоп 250 Кинопоискs/kpsТоп 250 IMDBs/imdbRbiR_ROi(sТоп 250 filmix.meR(sТоп 250 Кинопоискs/kp(sТоп 250 IMDBs/imdb(RR/R1Rz(R<RrR{RtR|((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyt
listTop250s

2cCsªtdƒd}d}x|ddf|ddf|dd	f|dd
fgD]Q}t|ƒ}|ji|d6|dd
6|d|dd6ƒ|j|ƒqQWdS(NsFilmixCO.listTop250Sorts↑ s↓ sПо убываниюRsПо возрастаниюs/supsПо годамs/ydowns/yupRbiR_ROi(RR/R1Rz(R<RrR{tasctdescRtR|((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytlistTop250Sort•s
A2cCs}g}xM|jD]B}d|d}||kr|jd|d||fƒqqW|jdƒ|jddj|ƒƒS(Nsf_%sR]s%s%stdds	/filters/t-(R7RRitjoin(R<RrtlinkCompRttkey((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytgetFilterUrlŸs&
cCs†tdƒ|jddƒ}|t|jƒkrx|j|}d|krÐd|krÐg}d|dkr3x•tdddƒD]}|jid	t|ƒjd
ƒt|dƒjd
ƒfd6d
t|ƒjd
ƒt|dƒjd
ƒfd|d6ƒqWt|ƒrÍ|jdit	dƒd6ƒqÍqé|j
dƒ}t|jƒ}t|j
ƒ|d<|jƒ|d<|j||idd6|dd6ƒ\}	}
|	s«dSyt|
ƒtd|
jddƒdd!ƒ}
x€tdt|
ƒd
ƒD]f}|j|
|dƒ}|
|}|jdƒr7|d}n|ji|d6|d|d6ƒqôWt|ƒr±d|dkr‡|jƒn|jdit	dƒd6ƒ||d<nWqétk
rÌtƒqéXnd|kré|d}nt|ƒ}|d7}|t|jƒkr!||d<n
||d<xT|D]?}
t|ƒ}|j|
ƒ|j|ƒ|d<|j|ƒq2Wn
tdƒdS(NsFilmixCO.listFilterstf_idxiR`R^tratingi	iÿÿÿÿs%s-%siiR_s%s%ssf_%sR]s--Any--s/engine/ajax/get_filter.phpR'tReferertcats[%s]s":"s","tftyearsRbROsShould not happen(RtgetR=R7trangeRtstrtzfillRSRRiR/R6R0t
getMainUrlRLt
json_loadstreplaceRpt
startswithtreverseR@RR1R‡Rz(R<RrR{RBtfilterR`tiROt	urlParamsRXRYR_RPRtR|((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytlistFilters¨s^

#-
#

'







cCsVtdƒ|j|dƒ\}}|s-dSt|ƒ}|jd|d<i}|jjj|ddtƒd}tj	dtj
ƒj|ƒ}xP|D]H}|jjj|d	ƒd
}|jjj|dƒd
}	|	||<q—W|jjj
|jddƒd
ddƒ}xA|D]9}|j|ƒ}
|jjj|dƒd
}|jjj
|ddƒ}xê|D]â}|jjj|dƒd
}
|j|jjj|dƒd
ƒ}t|ƒ}|ji|
d6|d6ƒd|
krïd|
}nd|
krd|
}nt|ƒ}|ji|d6|d6|d6|d6ƒ|j|ƒqhWqWdS(NsFilmixCO.listSortROs<formR[t
movie_sorts</formis<input([^>]+?)>sname=['"]([^'^"]+?)['"]isvalue=['"]([^'^"]+?)['"]s
sort-itemsiÿÿÿÿs<spans</span>sdata\-type=['"]([^'^"]+?)['"]s<is</i>stitle=['"]([^'^"]+?)['"]tdledirectiont
dlenewssortbyRs↑ R€s↓ RbR_RK(s<formR[R›(s</formR[(RRLR/RURGR
RjR8RmRntIRoRltgetAllItemsBeetwenMarkerstsplitRpR1Rz(R<RrR{RXRYtbasePostDataRsRttnameRPt	baseTitletsortOrderByRut	directionR€tpostDataR_R|((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytlistSortÜs<
"
+

%

)cCshtdƒ|jddƒ}|jdƒ}t|jƒ}d|dkrpt|jƒ|d<|jƒ|d<n|j|d||ƒ\}}|s™dS|jjj	|d&d't
ƒd}|jjj|d
|dƒd}|jjj|d(d)t
ƒ}xð|D]è}	|j
|jjj|	dƒdƒ}
|jjj	|	d*d+ƒd}|j|jjj|dƒdƒ}|j|jjj|ddƒdƒ}
|j|jjj	|	d,d-ƒdƒ}|dkrõ|
dkrä|}
qõ|
d|7}
ng}|jjj|	d.d/ƒ}|j|jjj|	ddƒdƒxE|D]=}|j|ƒ}|dkrC|j|jddƒƒqCqCW|dkrt|ƒ}|ji|d6td 6|
d!6|d6d"j|ƒd#6|
d$6ƒ|j|ƒqqW|dkrdt|ƒ}|jddƒ|jd#dƒ|jitd%ƒd!6|d6|dd6ƒ|j|ƒndS(0NsFilmixCO.listItemstpageiRKs/ajax/ROR'RŠs<divR[t
navigations</divs,<a[^>]+?href=['"]([^'^"]+?)['"][^>]*?>%s</a>is<articletitemtypes	</articles <img[^>]+?src=['"]([^"^']+?)['"]s
name-blockshref=['"]([^"^']+?)['"]s<h2s</h2>sorigin-nameRs / %ss"items<ps</p>s , s, Rbtgood_for_favR_s[/br]R€ticons	Next page(s<divR[R©(s</divR[(s<articleR[Rª(s	</articleR[(s<divR[s
name-block(s</divR[(s<divR[sorigin-name(s</divR[(s<divR[s"item(s</divR[(RRŽR/R6R0R’RLRGR
RjR8RltgetAllItemsBeetwenNodestgetFullIconUrlRiRptgetDataBeetwenMarkersRR”R1R4R„RztpopR:R(R<RrR{R¨R¦R™RXRYtnextPageRtR¬RsROR_ttitleOrgR€ttR|((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyt	listItemssP
"$
%%((	&
 @,c
Csåtdƒ|j|dƒ\}}|s-dS|jd}|j|ƒ|j|jjj|dƒdƒ}|jj|ƒró|j	|jjj
|ddtƒd	ƒ}t|ƒ}|j
itd
6|d6|d|dd6ƒ|j|ƒn|jjj|d
ƒd}	|jdƒ}
t|jƒ}t|jƒ|d<||d<|j|
|i|	d6dd6ƒ\}}|s}dSyIt|ƒ}td|ƒ|ddd}x|D]}|j||d	ƒ}
|jj|
ƒsèq³n|j	|ƒ}|
jdd	ƒdjƒjdƒrzt|ƒ}|j
itd
6|d6|
d6|d6|d6|dd6|	d6ƒ|j|ƒq³t|ƒ}|j
itd
6|
d6|d|dd6ƒ|j|ƒq³WWntk
ràtƒnXdS( NsFilmixCO.exploreItemROs-trailerVideoLink5\s*?=\s*?['"]#([^'^"]+?)['"]is<divR[strailer-wraps</diviR«t R_sdata\-player=['"]([^"^']+?)['"]s/api/movies/player_dataR'RŠtpost_idttruetshowfulls>>>
%s
tmessagettranslationsthtml5t?iÿÿÿÿs.txtRbtp_urltp_title(s<divR[strailer-wrap(s</divR[(RRLRURTRDRGR
RlRRRpRjR8R/R1taddVideoRiR6R0R“R tlowertendswithRzR@R(
R<RrR{RXRYtcUrlttrailerVideoR_R|tpostIdROR™R†((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytexploreItem0sL


%+.
)
%B.
c
CsÔtdƒt|jƒ}t|jƒ|d<|jd|jƒƒ|d<|d}|j|d|ƒ\}}|sxdSy=|j|dƒ}t|ƒ}x|dD]}g}x‘|dD]…}	|	d	}
|j	j
|
ƒsäq¼n|j|	d
ƒ}t|ƒ}|jit
d6dd
6|
d6|d|d6ƒ|j|ƒq¼Wt|ƒr¥|j|d
ƒ}t|ƒ}|jit
d6|d6|
d6|d6|d6ƒ|j|ƒq¥q¥WWntk
rÏtƒnXdS(NsFilmixCO.listPlaylistsR'R½RŠR¾ROitplaylisttfiletcommentR«tvideoR^RµR_Rbt	sub_items(RR/R6R0RŽR’RLRDR“RGRRRpR1R8RR=RzR@R(
R<RrR{R™R£RXRYtplaylistItemtsubItemsRtROR_R|((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyt
listPlaylists[s8


10
cCsÄtd|||fƒt|ƒ}|jdƒ|d<idd6|d6dd6d	d
6d	d6dd
6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6|d<|j|dƒdS(NsEFilmixCO.listSearchResult cItem[%s], searchPattern[%s] searchType[%s]s/engine/ajax/sphinx_search.phpROtfxtscftstoryt0tsearch_startRetdot	subactiont1902tyears_ott3000tyears_dot1tkpi_ott10tkpi_dotimdb_ottimdb_doRt	sort_nameRt	undefinedt	sort_datet
sort_favoritetsimpleRKtexplore_item(RR/RiR´(R<Rrt
searchPatternt
searchType((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytlistSearchResultzs
zcCs÷td|ƒ|jƒg}|jjj|ddƒdjdƒ}tjdƒjd|dƒ}td|ƒtd|ƒyVxO|D]G}|j	ƒ}|d	krŒ|j
i|d
6||d6dd6ƒqŒqŒWWntk
ròtƒnX|S(NsFilmixCO.getLinksForVideo [%s]ROs
\[([^\]]+?)\]it,s%ss
qualities: %ssbaseUrl: %sRR¢tneed_resolve(
Rt
tryTologinRGR
RlR RmRntsubRQRR@R(R<RrturlTabt	qualitiesRIRt((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pytgetLinksForVideo‚s
)
1
cCstd|ƒg}|S(NsFilmixCO.getVideoLinks [%s](R(R<tvideoUrlRì((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyt
getVideoLinks”scCs”tdƒ|jƒd|jksY|jtjjjj	ksY|j
tjjjj	krtdƒ}tjjjj	|_tjjjj	|_
|j
|jƒƒ\}}|rÊ|j|jjdƒnt}|r`d|kr`tdƒttd|j|j
fƒjƒƒ}t|ƒdjƒ}td||fƒ||krWt|_dSt}nt|ƒt|jƒ|r±|j
|jƒt|jitd	6ƒƒ\}}nt|_d
|jjƒksäd
|j
jƒkrètStdƒg}|râ|jdƒ}i|jd
6|j
d6dd6dd6}	t|jƒ}
t|
di|jjdd6dd6dd6dd6ƒ|
d<|j
||
|	ƒ\}}t|ƒ|rÄ|j t!j"|ƒƒn|j
|jƒƒ\}}n|r
d|kr
tdƒt|_n?t|ƒ|j#j$t%dj&|ƒdt%j'ddƒtd ƒ|jrttd|j|j
fƒjƒƒ}t(||ƒqn|jS(!NstryTologin startsfilmix.co.loginROs
action=logouts
Check hashs	%s@***@%sis$hash[%s] $prevHash[%s]tuse_new_sessionRs
Login failed.s/engine/ajax/user_auth.phpt
login_nametlogin_passwordRÙtlogin_not_savetsubmitRR'RŠs*/*R$R%sX-Requested-Withs0application/x-www-form-urlencoded; charset=UTF-8sContent-Types
tryTologin OKs
R^ttimeouti
stryTologin failed()RRZR:R;RRRRRRPRRRRLR’RTRGRUR8RR
tdigestRRQR4RR5RR6RRiR/RR
t
clean_htmlt	sessionExtwaitForFinishOpenRR„t
TYPE_ERRORR	(R<tloginCookieRXRYtfreshSessionthashtprevHashtmsgTabt	actionUrlRKt
httpParams((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyRê™s`

*
(		

4	*(=


+
	(iRc	Cs¨tdƒtj|||||ƒ|jjddƒ}|jjddƒ}|jjddƒ}td||fƒg|_|jƒt|jƒ|_|jjddƒ|dkrÑ|j
idd6ƒnÀ|dkró|j|jd	ƒnž|d	kr|j|jd
ƒn||d
kr7|j
|jdƒnZ|dkrY|j|jd
ƒn8|d
kr{|j|jdƒn|dkr|j|jdƒnô|dkr¿|j|jdƒnÒ|dkrá|j|jdƒn°|dkr|jjdgƒ|_n‰|dkrTt|jƒ}|jitd6dd6ƒ|j|||ƒn=|dkrŠ|jidd6dd6dtdƒƒntƒtj|||ƒdS(NshandleService startR¢RRbtmodes)handleService: || name[%s], category[%s] R«Ratlist_top250tlist_top250_sortt
list_itemsRct	list_sortRätlist_playlistsRÊRetsearch_next_pageRgRhR"R€sType: (ssearchR	(RRt
handleServicetcurrItemRŽtcurrListRêR/R°R:RwR}R~RRšR§R´RÅRÍR1R8RçtlistsHistoryRRtendHandleService(	R<tindextrefreshRåRæR¢RbRRr((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyR
ØsL
	
*N(t__name__t
__module__R,RDR:RLRZRwR}R~RR‡RšR§R´RÅRÍRçRîRðRêR
(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyR!.s&							
			4	%	/	+					?tIPTVHostcBseZd„ZRS(cCs tj|tƒtdgƒdS(NtfavouriteTypes(RR,R!R4(R<((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyR,
s(RRR,(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyRs((t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRRt.Plugins.Extensions.IPTVPlayer.components.ihostRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRRRRR	t"Plugins.Extensions.IPTVPlayer.libsR
t*Plugins.Extensions.IPTVPlayer.libs.e2ijsonRR“tbinasciiRthashlibR
RmtComponents.configRRRtScreens.MessageBoxRR8RRRRRRR R!R(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfilmixco.pyt<module>s"4			ÿÞ