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@seddlmZmZddlmZmZmZmZm	Z	ddl
mZmZm
Z
mZmZmZmZddlmZmZddlmZddlmZddlmZddlmZdd	lmZdd
lm Z ddl!m"Z#m$Z%ddl&m'Z(m)Z*m+Z,m-Z.dd
l/m0Z0m1Z1m2Z2m3Z3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:e1ddddedƒfdedƒfgƒe0j;j<_=e3de>ƒe0j;j<_?e3de@ƒe0j;j<_Ae3de@ƒe0j;j<_Be2dddfƒe0j;j<_Cd„ZDd„ZEd„ZFdefd„ƒYZGdefd „ƒYZHd!S("iÿÿÿÿ(tTranslateTXTtSetIPTVPlayerLastHostError(t	CHostBasetCBaseHostClasstRetHosttCUrlItemtArticleContent(tprintDBGtprintExctReadTextFilet	GetBinDirtformatBytest	GetTmpDirtmkdirs(tgetDirectM3U8PlaylisttgetF4MLinksWithMeta(t	urlparser(tParseM3u(tstrwithmeta(tDMHelper(tIPTVChoiceBoxItem(tGetVirtualKeyboard(tloadstdumps(tpathtchmodtremovetrename(tconfigtConfigSelectiont
ConfigIntegertConfigYesNotgetConfigListEntry(tiptv_execute(t
MessageBox(t
fileExiststdefaulttalphabeticallytchoicestAlphabeticallytnonetNoneièi
i@BcCsÃg}|jttdƒtjjjƒƒ|jttdƒtjjjƒƒ|jttdƒtjjjƒƒ|jttdƒtjjj	ƒƒ|jttdƒtjjj
ƒƒ|S(NsSort alphabeticallysShow file sizesShow hiddens filessShow hiddens catalogssMax items per page(tappendR t_Rtpluginst
iptvplayertlocal_alphasorttlocal_showfilesizetlocal_showhiddensfilestlocal_showhiddensdirtlocal_maxitems(t
optionList((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt
GetConfigList,s%%%%%cCs
tdƒS(Nt
LocalMedia(R+(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgettytul7scCs;td|ƒtƒ}||ƒ}d}td|ƒ|S(Ns'LocalMedia.iptv_execute_wrapper cmd[%r]s'LocalMedia.iptv_execute_wrapper ret[%r](RR!R)(tcmdtobjtret((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytiptv_execute_wrapper:s	R5c
BsšeZdZddddddddd	d
ddd
g
Zdddddddddddddg
Zdddddd d!gZd"d#d$gZd%gZd&gZd'„Z	d(„Z
d)„Zd*„Zd+„Z
d,„Zd-„Zd.„Zd/„Zd0„Zd1„Zed2„Zged3„Zged4„Zd5„Zd6„Zd7„Zd8d9d:„Zd;„Zd<„Zd=„Zd>„Zd?„Z d9d8d8d@„Z!RS(As.iptvplayer_isotext2text3text4tvfattmsdostiso9660tnfstjffs2tautofstfuseblktudftcifstntfstavitflvtmp4ttstmovtwmvtmpegtmpgtmkvtvobtdivxtm2tstevotmp3tm4atoggtwmatflatwavtflactjpgtjpegtpngtm3utisocCs$tj|idd6ƒd|_dS(NR5thistoryt(Rt__init__tcurrDir(tself((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyRcKscCs|jS(N(Rd(Re((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt
getCurrDirOscCs
||_dS(N(Rd(ReRd((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt
setCurrDirRscCsGd}y#tj|ƒ\}}|d}Wntk
r<nX|jƒS(NRbi(tos_pathtsplitextt	Exceptiontlower(ReRtext((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgetExtensionUs
c
CsPtdƒ}yt|dƒWntk
r7tƒnXtjjjjrSd}nd}g}|j	|j
|j|j|j
}x|D]y}tjjjjr¬d}	nd}	d}
x.|D]&}|
d|jƒ|jƒf7}
q¿W|	d|
7}	|j|	ƒq‹Wd	||||d
j|ƒ|f}tjjjjrL|d7}n|S(Ntlsdiriÿs[^.]*|.[^.]*|..[^.]*s[^.]*t*Rbs[%s%s]t.s%s "%s" rdl rd %d %d "%s" "%s"t|s 1 (R
tos_chmodRjRRR,R-R1tvaluetVIDEO_FILE_EXTENSIONStAUDIO_FILES_EXTENSIONStPICTURE_FILES_EXTENSIONStM3U_FILES_EXTENSIONStISO_FILES_EXTENSIONSR0tupperRkR*tjoinR/(
ReRtstarttendt	lsdirPatht
dWildcardst
fWildcardst
extensionsRltwilcardtinsensitiveExttlR7((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt
prepareCmd]s.
	%
	
$%
cCsKtd|ƒitdƒd6tjjjjd6itdƒd6dd6g}x4|D],}t|ƒ}|j|ƒ|j	|ƒqUW|j
ƒ}x³|D]«}tjjjjrátj
|dƒ\}}|jdƒráq˜qánd|dkr˜|d	|jkr˜t|ƒ}|ji|dd6|dd6ƒ|j	|ƒq˜q˜WdS(
NsLocalMedia.listsMainMenu [%s]t	DownloadsttitleRtrootfst/tnodeRpt
filesystem(RR+RR,R-tNaszaSciezkaRstdicttupdatetaddDirtgetMountsTableR1Rhtsplitt
startswithtFILE_SYSTEMS(RetcItemt
predefinedtitemtparamsttableRtname((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt
listsMainMenuus @


	##cCs‹|jddƒ}|jj|ƒs9|jddƒ}n|jj|ƒs`|jddƒ}n|jj|ƒs‡|jddƒ}n|S(Nstvg-logoRbtlogotartticon(tgettcmt
isValidUrl(ReR•R“Rœ((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt_getM3uIcon‰scCs¬d}|jdƒrm|dkr4d|}d}qm|jdƒrPd|}qm|jj|ƒ|d}nd|jddƒkr¢t|i|dd	6ƒ}n||fS(
NiRˆRbsfile://is//shttp:s
program-ids
PROGRAM-ID(R‘Ržt
getBaseUrlRR(RetbaseUrlturlR•tneed_resolve((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt_getM3uPlayableUrls
	
cCs¢td|ƒd}d}|jj|dƒsnt|dƒ\}}|sPdSd|krx|jƒ}qxn
|d}|jj|ƒrß|jj|ƒ}|jj|ƒ\}}|jj|||ƒ\}}|sßdSnt	|ƒ}i}x=|D]5}	t
|ƒ}
|	jddƒ}|	d}|j|	|ƒ}
|	ddkrÇ|dkrÍ|j
|||	ƒ\}}|
jitd	6|	d
d
6dd6|d
6|	jddƒd6|
d6|d6ƒ|j|
ƒq-||kr³|	jddƒ}|jj|ƒs|	jddƒ}n|jj|ƒs-|
}ng||<|
jitd	6|d
6|d6|d6|d
6dd6|d6ƒd|	kr£|
jitd6|	dd6ƒn|j|
ƒn||j|	ƒqø|	ddkrø|jj|ƒrø|
jitd	6|	d
d
6|d6dd6|
d6ƒ|j|
ƒqøqøW|ikržx^tt|jƒƒD]D}d|j|krS|j|j|dgƒ|j|d<qSqSWndS(NsLocalMedia.listM3u [%s]RbRs#EXTsgroup-titleturitf_typetinftgood_for_favR†tm3u_itemtcategoryR£stvg-nametdescRœR¤s
group-logos	group-arttf_groupsparent-codet
pin_lockedtpin_codetimportt
f_group_items(RRžRŸR	tstriptuptdecorateParamsFromUrltgetParamsFromUrlWithMetatgetPageRRŒRR R¥RtTruetaddVideotFalseRŽR*trangetlentcurrList(ReR“tnextCategoryR¢tdatatstst
httpParamstpostDatatgroupsR•R–tgroupR£RœR¤t	groupIcontidx((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytlistM3užs^


N	
>""4c	CsÕtd|ƒ|d}|d}x¬|D]¤}t|ƒ}|d}|j||ƒ}|j|||ƒ\}}|jitd6|dd6dd6|d6|jd	d
ƒd6|d6|d
6ƒ|j|ƒq)WdS(NsLocalMedia.listM3uGroups [%s]R£R±R¦R©R†RªR«stvg-nameRbR¬RœR¤(RRŒR R¥RR·RR¸(	ReR“R¢R¾R•R–R£RœR¤((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt
listM3uGroupsÐs



NcCs7t|ƒt|ƒ|jjtd|dtjƒdS(Nttextttype(RRt	sessionExtopenR"t
TYPE_ERROR(Retmessage((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytshowErrorMessageÜs

c	Csôg}d}t|ƒ}|drð|jddƒ}d|dkrÓ|jdƒ}x—|D]r}|jjj|dd	ƒ}t|ƒd	kr“qZn|ji|dd
6|dd6|d
d6|dd6ƒqZWqðtdƒ|d|f}n|S(Nsmount  2>&1R¿R¾Rbitcodes
s*(.+?) on (.+?) type ([^ ]+?) (\([^\)]+?\))itdeviceiR‰iRŠitoptionssNCan not get mount points - cmd mount failed.
Return code[%s].
Return data[%s].(	R:RRRžtphtgetSearchGroupsR»R*R+(	RetsilenR—R7R9R¾tlineR•RÍ((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyRás

@cCsUtdƒg|kr(|j|ƒ}nx&|D]}||dkr/|dSq/WdS(NsLocalMedia.getMountPointRÐR‰Rb(RR(ReRÐR—RÔR•((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt
getMountPointòs

cCsQtdƒg|kr(|j|ƒ}nx"|D]}||dkr/tSq/WtS(NsLocalMedia.isMountPointR‰(RRR·R¹(ReRR—RÔR•((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytisMountPointûs

cCs•td|ƒd}|jtƒ}xV|D]N}||dkr*|jjj|ddƒd}td||fƒPq*q*W|dkr‘d}n|S(	Ns-getCharsetEncodingOfMountPoint mountPoint[%s]sutf-8R‰RÑsiocharset=([^\,^\)]+?)[\,\)]ismountPoint[%s] encoding[%s]Rb(RRR·RžRÒRÓ(Ret
mountPointtencodingR—R•((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgetCharsetEncodingOfMountPoints
 	c	Cs¹td|ƒ|d}t|jƒ}|jddƒ}|j|ƒ}d|krk|j|ƒrÁdj|ƒd}t|ƒ}|drÁd	|d
krÁdj|ƒd}t|ƒ}qÁnt|ƒsît	dƒ|}|j
|ƒdSd
j||ƒd}t|ƒ}|drkd	|d
kr_t	dƒ|||d
|df}|j
|ƒdS|}qknd|krµt|ƒ}|jit
d6|d6dd6ƒ|j|ƒndS(NsLocalMedia.listIso [%s]Rs//RˆRbsumount "{0}"s 2>&1R¿iRÏsumount -l "{0}"sMake directory [%s]smount -r "{0}" "{1}"sEMount ISO file [%s] on [%s] failed.
Return code[%s].
Return data[%s].R¾tnext_good_for_favtdirR«(RRtISO_MOUNT_POINT_NAMEtreplaceRÖR×tformatR:R
R+RÎRŒRR¹tlistDir(	ReR“RtdefaultMountPointRØR7R9RÍR–((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytlistIsos8


$
"cCsQtd|ƒ|jddƒ}|jddƒ}|tjjjj}t|ƒ}d|d<|d}|j|||dƒd}td|ƒt	|ƒ}t|ƒ|d	rMd|d
krM|j
|ƒ|djdƒ}t|ƒr%d
|dkr%t|dƒr%|j
|dƒ}	nd}	g}
g}g}g}
g}g}x|D]	}|d7}||krvPn|jd
ƒ}tjjjjr²dt|ƒkrÊqVqÊndt|ƒkrÊqVnd}dt|ƒkryt|dƒ}Wqtk
rtƒqVqXny |dj|	ƒjdƒ}Wn"tk
r[|d}tƒnXi|d6|dd6}d|dkr”|
j|ƒqVd|dkrV||d<|j|dƒ}||jkrà|j|ƒq_||jkrÿ|j|ƒq_||jkr|
j|ƒq_||jkr=|j|ƒq_||jkr_|j|ƒq_qVqVW|j||
|dƒ|j|||dƒ|j|||ddƒ|j||
|dƒ|j|||dƒ|j|||dƒ||krMt|ƒ}|jddƒ|jidd 6td!ƒd6|d6ƒ|j |ƒqMndS("NsLocalMedia.listDir [%s]tpageiR{Ris 2>&1scmd [%s]R¿RÏR¾s
s//sutf-8iiiÿÿÿÿiR†traw_nametdtrtsizeRÜR`R_tvideotaudiotpictureR©tmoreR«tMore(!RRRR,R-R2RsRŒR„R:RgRR»RÚR/tintRjRtdecodetencodeR*RmRwRxRtRuRvt
addFromTabtpopR)RR+taddMore(ReR“RãR{R|RR7R9R¾RÙtdirTabtm3uTabtisoTabtvidTabtaudTabtpicTabR•tfileSizeR†R–Rl((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyRà9s



,

	

 


(Rbic
Csg}|dkr$|jtƒ}ntjjjjdkrqy|jdd„ƒWqqtk
rmt	ƒqqXnxœ|D]”}t
|ƒ}|ji|jdtƒd6|dd6|d6d	d
6ƒ|dkrrt
j||d
ƒ}||d<|dkrbg}	|jddƒdkr=|	jtdƒt|dƒƒnt|	ƒrbdj|	ƒ|d
<qbn|j|ƒqxdt
j||d
ƒ}||d<||d<d|kr¹||d<n||d<|jddƒdkrütdƒt|dƒ|d
<n|jj|ƒqxWdS(NR`R%tkeycSs|dS(NR†((R•((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt<lambda>sRÛR©R†R«RbR¬R_RÜRäRRçiÿÿÿÿisTotal size: s[/br]sfile://R£RÉRêRœR¤(sm3usdirsiso(RR·RR,R-R.RstsortRjRRŒRRRhRzR*R+RR»RŽR¼(
ReR–ttabRR«R¤R—R•tfullPathtdescTab((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyRð‰s<

9
$



!cCstd|ƒg}gS(Ns!LocalMedia.getArticleContent [%s](R(ReR“tretTab((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgetArticleContent±scCsd|krtStS(Ns://(R·R¹(ReR£((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt_uriIsValid·scCs~td|ƒg}|jdƒr<t|ƒr<d|}ntj|ƒ\}}t|ƒtj||ƒ}|jjddƒdkr|j	j
|ƒ}nd}d	|krÑ|j	j|ƒ}|j|ƒn©d|krz|j
|ƒrz|jd
ƒdjdƒr$t|ƒ}|j|ƒqz|jd
ƒdjdƒr\t|ƒ}|j|ƒqz|jid
d6|d6ƒn|S(NsLocalMedia.getResolvedURL [%s]Rˆsfile://t
iptv_protoRbthttpthttpsiit?s.m3u8s.f4msdirect linkR˜R£(RR(RR‘R#RtgetDownloaderParamFromUrlRtdecorateUrltmetaRR³tcheckHostSupporttgetVideoLinkExttextendRRtendswithRRR*(ReR£t	videoUrlsR¦R–t
urlSupportR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgetResolvedURL¼s,

cCsgyBt|ƒ}d|kr5t|dƒj|d<nt|ƒ}Wntk
rbtƒd}nX|S(NR£tfav_url_metaRb(RŒRR	t
json_dumpsRjR(ReR“R–R¾((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgetFavouriteDataÙs

cCs„y/t|ƒ}t|d|jdiƒƒ}Wntk
rItƒnXd}|jdƒshd}nidd6|d6|d6gS(	NR£Risfile://iRbR˜R¤(t
json_loadsRRRjRR‘(Retfav_dataR“R¤((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgetLinksForFavouriteäs#
	cCstdƒtj|||||ƒ|jjddƒ}|jjddƒ}td||fƒg|_|dkr”|jidd6td6ƒnp|dkr¶|j	|jdƒnN|dkrÕ|j
|jƒn/|d	krô|j|jƒn|j|jƒtj
|||ƒdS(
NshandleService startR˜RbR«sKhandleService: |||||||||||||||||||||||||||||||||||| name[%s], category[%s] R©R_tlist_m3u_groupsR`(RRt
handleServicetcurrItemRR¼R)R™R·RÆRÇRâRàtendHandleService(Retindextrefresht
searchPatternt
searchTypeR˜R«((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyRðs 
	("t__name__t
__module__RÝR’RtRuRvRwRxRcRfRgRmR„R™R R¥RÆRÇRÎR¹RRÖR×RÚRâRàRðRRRRRR(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyR5Bs>--											2					
	(	P(					tIPTVHostcBsbeZd„Zdd„Zdd„Zd„Zd„Zdd„Zd„Zd„Z	d	„Z
RS(
cCsAtj|tƒtgƒd|_d|_d|_d|_dS(NRbs'http://www.ngonb.ru/files/res_media.png(RRcR5R¹t	cFilePathtcTypetneedRefreshtDEFAULT_ICON(Re((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyRc
s
			icCsH|jjdƒt|jƒdkr1|jjƒ}|jjƒ}|jj|ƒ|jj|ƒd}d|j	kr|j
ddƒ}d|krtj|ƒtj|j	ƒkrd|_	|jj
|jd|j|jƒ|j|jjƒƒ}qnd|kr|j|ƒ}nttjd|ƒSttjdgƒSdS(NRbiRiRs(thostRgR»tlistOfprevListRñtlistOfprevItemstsetCurrListtsetCurrItemR)R$RRhtrealpathRt	currIndexRRtconvertListtgetCurrListRtOKtERROR(ReRthostListthostCurrItemtconvListR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgetPrevLists"-	"cs&tj}g‰‡‡fd†}t}ˆj|ƒshˆjjƒ}||ƒtj}t|dˆƒSˆjj|ddkrȈjj|jddƒj	d	ƒrȈjj|dd
}t
}n½ˆjj|jddƒdkrˆjj|d
}t
}n~ˆjj|jddƒdkrFˆjj|d
}t
}n?ˆjj|jddƒdkr…ˆjj|d
}t
}n|rtj|ƒ\}}tj
|ƒ\}}	dˆjj|jddƒkr"ttdƒdidd6|d6ˆjj|dd6ƒ}
ˆj|
ƒntj|ƒrttdƒdidd6|d6ƒ}
ˆj|
ƒttdƒdidd6|d6ƒ}
ˆj|
ƒttdƒdidd6|d6ƒ}
ˆj|
ƒttdƒdidd6|d6ƒ}
ˆj|
ƒn||ƒtj}nt|dˆƒS(Ncswtj|ƒrsdˆjkrstjˆjƒ\}}ttdƒ|didd6|d6ƒ}ˆj|ƒqsndS(NRbs
Paste "%s"t
paste_filetactionR(RhtisdirR"RRR+R*(RtcutPathtcutFileNameR–(tretlistRe(sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytaddPasteAction*s
*RsRÉRèRéRêR£Rbsfile://iR«R_RRÜR`tiso_mount_pathsUmount iso filetumount_iso_fileR6t	file_pathtRenametrename_filetRemovetremove_filetCopyt	copy_filetCuttcut_file(svideosaudiospicture(RR0R¹tisValidIndexR&RfR/R¼RR‘R·RhRRiRR+R*tisfile(RetIndextretCodeR;tokRRþtfileNameR˜RlR–((R:ResM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgetCustomActions&sP	
	%	"	"	"	";&
&
&
&
cCs•tj}g}|ddkr¦yi|jjjtdtdƒ|ddtjdtƒ}|dr‡t	|dƒd	g}tj
}nWq¦tk
r¢tƒq¦Xn|dd
krÕyt
j|dƒ\}}t
j|ƒ\}}|jjjtƒdtdƒd|ƒ}td
|ƒt|dtƒr¶t
j||d|ƒ}	td|	ƒt
j|	ƒr t
j|	ƒr t|d|	ƒd	g}tj
}q¶tdƒ|	g}nWq…tk
rÑtƒq…Xn°|ddkr|d|_d|_tj
}n~|ddkr9|d|_d|_tj
}nL|ddkry¨t}
t
j|jƒ\}}t
j|d|ƒ}	t
j|	ƒr«tdƒ|	g}t}
nµitd6dd6dd6}|jdkr/yt|j|	ƒ||_Wq`tk
r+tƒd|j|	f}
t|
ƒ}q`Xn1|jdkr`d|j|	f}
t|
ƒ}n|drÃd|dkrÃtdƒ|j|	ftdƒ|dtdƒ|dg}t}
n|
rðd|_d|_d	g}tj
}nWq…tk
rtƒq…Xnv|dd kr…d!j|d"ƒd#}
t|
ƒ}|dr…d|dkr…d$j|d"ƒd#}
t|
ƒ}q…nt|d%|ƒS(&NR6RBRÈs*Are you sure you want to remove file "%s"?R>RÉR$iRR@R†s
Set file namesrename_file new name[%s]srename_file new path[%s]sFile "%s" already exists!RFtcutRDtcopyR5RsFile "%s" already existsR¿RÏRbR¾smv -f "%s" "%s"scp "%s" "%s"s&Moving file from "%s" to "%s" failed.
sError code: %s
sError message: %s
R=sumount "{0}"R<s 2>&1sumount -l "{0}"Rs(RR0R&RÊtwaitForFinishOpenR"R+t
TYPE_YESNOR¹t	os_removeR/RjRRhRRiRRt
isinstancet
basestringRzRHtislinkt	os_renameR"R#R·R$R:Rß(RetprivateDataRJR:R9RRLR˜RltnewPathRKR8R9R7((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytperformCustomAction^s	8
	
* 	

	
		

@				
cCscg}|jj|ƒ}x5|D]-}d}|jt|d|d|ƒƒqWttjd|ƒS(NiR˜R£Rs(R&RR*RRR/(ReR£R:turlListR•R¤((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyR®s
%c
CsÞtj}g}|j|ƒs.t|d|ƒS|jj|jj|ƒ}x~|D]v}|jddƒ}|jddƒ}|jdgƒ}|jddƒ}	|jtd|d|d|d|	ƒƒqQWttj	d|ƒS(NRsR†RbRÈtimagest
other_infotrichDescParams(
RR0RGR&RR¼RR*RR/(
ReRIRJR:thListR•R†RÈR[t
othersInfo((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyR¸s	
,cCs|S(N((ReR£((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pytgetFullIconUrlÆscCs|jS(N(R%(ReR“((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt
getDefaulIconÉscCs.|jddƒ}d}tj||||ƒS(NR¤i(RRt
converItem(ReR“tneedUrlResolvetneedUrlSeparateRequest((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyRbÌs(RR RcR4RMRYRRR`RaRb(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyR!s	8	P	
		N(It7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRR+Rt.Plugins.Extensions.IPTVPlayer.components.ihostRRRRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRR	R
RRR
t2Plugins.Extensions.IPTVPlayer.libs.urlparserhelperRRt,Plugins.Extensions.IPTVPlayer.libs.urlparserRt,Plugins.Extensions.IPTVPlayer.libs.m3uparserRt-Plugins.Extensions.IPTVPlayer.tools.iptvtypesRt+Plugins.Extensions.IPTVPlayer.iptvdm.iptvdhRt6Plugins.Extensions.IPTVPlayer.components.iptvchoiceboxRt6Plugins.Extensions.IPTVPlayer.components.e2ivkselectorRt*Plugins.Extensions.IPTVPlayer.libs.e2ijsonRRRRtosRRhRRrRRRRRVtComponents.configRRRRR t2Plugins.Extensions.IPTVPlayer.components.asynccallR!tScreens.MessageBoxR"tTools.DirectoriesR#R,R-R.R·R/R¹R1R0R2R4R6R:R5R!(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostlocalmedia.pyt<module>s4(4"(<			ÿÇ