Sc*@s]ddkZddkZddkZyddkZWnddkZnXddklZlZlZddkTddk l Z ddk l Z l Z ddklZddklZddklZd;Zd%Zd&Zd'ieZd(ieZd<Zd=d>d?d@dAfZd6efd7YZdd8klZeZ d9e i!fd:YZ"dS(BiN(tdatetimetdatet timedelta(t*(tgui(t MediaDetailstContainerDetails(teTV(tSettingsWindow(t ru_strftimeuАuБuВuГuДuЕuЖuЗuИuКuЛuМuНuОuПuРuСuТuУuФuХuЦuЧuШuЩuЭuЮuЯs#https://secure.etvnet.com/api/v3.0/sutf-8uВсе рубрикиuВсе каналыii<iu МоскваiuНью-Йоркiu Чикагоiu ДенверiuЛос-АнджелесuЛос-Андж.t BreadcrumbscBsMeZdZdZdZdZdZdZedZ RS(cOs/d|_tt|i||d|_dS(N(tNonetwindowtsuperR t__init__tlevel_incrised(tselftatk((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR(s cCs3d}x&|D]}|d7}||d7}q W|S(NsВсеs > tlabel((Rtstringtitem((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt__str__-s  cCs#|iidit|dS(Ni#(R t getControltsetLabeltstr(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt ui_refresh4scCs|2dS(N((R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytclear7scCsGy|||Z.eiddeiei ddd?Z/eideiei ddd@Z0eie1dAZ2eid eiei ddBZ3eid eidCZ4eid"eiei dDZ5eid!dEZ6dFZ7eidGei e8dHZ9dIZ:dJZ;hdKdL6dMdN6dOdP6Z<eiei ddQi=e<i>dRZ?dSdTdUdVdSdWdXdWgZ@e@iAdYi=e@dYi=dZdXd[dSd\d]d^d_d`dadZg ZBZCdbZDdcZEddZFeieGd.d1ei deZHeieIdfZJdgdhZKdiZLeidjeiei ddkZMeidldmZNeidndoZOeidpdqZPeidrdsZQeidtduZReidvdwZSei dxZTeidydzZUeie1d{ZVeideidd|ZWed}\ZXZYZZeideidddd~e8e8dZ[eiddZ\dZ]eideiei ddZ^eiddZ_eiddZ`eiadGdddddGd d!d" dZbeiaeGdZcdZdeieeifdZgeid3ei dZheid2ei dZidZjeid0dZkeid/dZleimdeinddZoeiddZpeiddZqdZreid8dZsdZtdZudZveid:dZwddZxeiyd.dZzeiyd/dZ{eiyd0dZ|eiyd1dZ}RS(smain.xmlii isetvslider/mainR#uВыбор редакцииttitlet newmediasuСтоит посмотретьtbestuЛучшее 100ttopuЛучшее за 7 днейtnewestu)Последние поступленияt now_watcheduСейчас смотрятt recommendu1Персональные рекомендацииt access_tokencCs|i|iiddt|ddpmt|_|i|i|i |i t |_ ||i _ |i|i id|_nE|i|ijo1|iidd|i|iidn|i|idS(Ni#i#tloadedi(tshut_up_playertmanagerthidetgetattrR R R7talter_etvnet_requesttgetMainPageForBoxeetgetMainPageItemForBoxeet setup_lettersR t breadcrumbsR tonMainPageClickRt_current_channelt main_menutMENU_LIVE_CHANNELStshowtshow_curent_live_pagetgototset_default_shifting_statustset_default_filter_status(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonInitms&             cs.iifd}|i_dS(Ncs@|||}t|dddj oi|n|S(Ntdata(R;R tsetup_pagination(tslftargstkwargstresp(t orig_requestR(s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt xbmc_requests(tetvnettrequest(RRR((RQRs[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR<s cCsd}t|itp|iid}n|o|do|iitn|iit|do|iit n|iit |do=|do2d|d|df}|i di |qndS(Nt paginationthas_nextt has_previoustpagetpagess%d / %dia#( R t isinstanceRKtlisttgetR9REtNEXT_PAGE_CONTENR:tBACK_PAGE_CONTENRR(RRPtpagint page_pages((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRLs  i#cCsT|ii}|i|ijo d}nd}|o|i|d|ndS(Nt bookmarkstmediatlist_key(RSt getNextPageRCtMENU_BOOKMARKStresponseToXBMCItems(RRPRc((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt on_nex_pages  i#cCsT|ii}|i|ijo d}nd}|o|i|d|ndS(NRaRbRc(RStgetPreviousPageRCReRf(RRPRc((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt on_prev_pages  i)#i*#i+#i,#i-#i.#i/#cCsh|idid|iitdd|iittddddd d |_|i i dS( Nisclean/background_main.pngi#i#ih#ii#i#i#ia#i( RtsetImageR9R:tLIVE_CHANNEL_LISTREtMEDIA_LIST_MENUt MIDDLE_MENUtglR@R(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytflash_after_menu_reloads " i(#cCse|iid|_|ii|ihtd6dd6td6dd6|ii|i|_dS(NiR$R#R%sГлавнаяR( R@RRnR"RR Rt MENU_MAINRC(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRAs   2 cCsX|iid|_|ii|ihtd6dd6td6dd6|i|_dS(NiR$R#R%s#История ПросмотровR(R@RRnR"RR t MENU_HISTORYRC(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonHistoryClicks  2cCse|iid|_|ii|ihtd6dd6td6dd6|ii|i|_dS(NiR$R#R%s КаналыR( R@RRnR"RR Rt MENU_CHANNELSRC(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonChannelsClicks   2 cCsXd|_|ii|ii|ihtd6dd6td6dd6|i|_dS(NiR$R#R%s АрхивR(RnR@RR"RR t MENU_ARCHIVERC(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonArchiveClicks  2cCsXd|_|ii|ii|ihtd6dd6td6dd6|i|_dS(NiR$R#R%s НовоеR(RnR@RR"RR t MENU_ARRIVALSRC(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonArrivalsClicks  2cCsX|iid|_|ii|ihtd6dd6td6dd6|i|_dS(NiR$R#R%sИзбранноеR(R@RRnR"RR ReRC(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonBookmarksClicks  2cCs|iittdddd|iitdd|ii|ii|i ht d6dd6t d 6d d 6|i |_ |id id d|_ |iidS(Nih#i#i#ia#i#i#R$R#R%tLiveRislive/background_vprogram.jpgi(R9R:RmRlRERkR@RR"RnRR RDRCRRjR(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonLiveChanClicks 2  ij#i4ii#i#i#i%i%i#i#i#i#i[#i]#i^#cCsn||ijo |iidtdnx7ddddddd d gD]}tid |qOWdS( Ni#sExeption To prevent closingiiiiiiiisSkin.Reset(900%s)(tDONT_EXIT_CONTROLSR9RGt Exceptiontxbmctexecutebuiltin(Rt_selft controlIDti((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonExits cCs1titi}|io|indS(N(R~tPlayertPLAYER_CORE_DVDPLAYERt isPlayingtstop(Rtplayer((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR8s Rbc Cs&|iit|it}g}x|i|D]}ti}|idt|d|id|di d|i |di d|idt|dd|id|di d|id t i ||id d t|d d dt ti|ddd }|idd|i|i|i|i|if|id|di d|iddt|d|idt|dd|idt|dd|id|ddi d|i|q3W|i|i|dS(NR#ttypesutf-8tnametdurationi<t thumbnailtthumbRKtstarssstars/tmarkttotals.pngton_airs%Y-%m-%d %H:%M:%Sis%d/%d/%d %d:%dttagtratingsРейтинг: s мин.tyears г.R$(R9RERlRRKtxbmcguitListItemt setPropertyRtencodeRtjsontdumpsRttimetstrptimetdaytmonthRthourtminuteRtresettaddItems(RRPRctcontent_list_controlt menu_itemsRt list_itemtdt((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRfs. & 2! cCs5|iid|d|d|i}|i|dS(NR%R$tper_page(RSt getArchivetPER_PAGERf(RR%R$RP((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRs$cCs5|iid|d|d|i}|i|dS(NR%R$R(RStgetNewArrivalsRRf(RR%R$RP((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR#s$cCs|iidS(N(R@R(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytmiddle_menu_clicked*scCs,|iid|}|i|dddS(NtfolderRcRa(RSt getBookmarksRf(RRRP((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR.scCs|it}|ii}g}x|idD]v}ti}|idt|d|i |di d|idt|di d|i |q2W|i |i ||i|_dS(NtfoldersR#R/sutf-8tcountt items_count(RRmRSt getFoldersRKRRRRRRRRRtFOLDERStmiddle_panel_state(Rt middle_menuRRRR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR5s #  cCs |ii}|i|dS(N(RSt getHistoryRf(RRP((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyREscCstiddd}|i|io|i}|oz|ii|ii|}|i ||i i |i i ht d6dd6t d6dd6|i i ht d6dd6t d6|d6|i iWd|iiX|iid d q n~dS( NttheadingsPlease type your loginR$R#R%s ПоискRih#ii#(R~tKeyboardtdoModalt isConfirmedtgetTexttprogressRERStsearchRfR@RRRR RR:R9(Rtkeyboardt inputTexttresponse((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRLs       ,,cCs(dt|dd!t|dd!fS(Ns%s - %sii(R(Rtstarttend((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytform_time_start_and_string`si0#c Cs|it}|i}t|iid}|iidtd|dt|}|i |}|i ddoL|i ddd}|i ddd}|i ddd i d }nd }d }d }|i dd oCd i g} |i dd D]} | t | dq~ } nd } |i||} |i|i dd|i ddi d |i ddi d |d| d| g} x|i D]}|i|}|ddj o|di d }nd }|ddj o=|dd i d }|i|dd|dd} n d}d} |do d}nd}|d o<d i g}|d D]} |t | dq~} nd } ti}|id||idt |d|i|di d |id|i d |id||id| |id||id| | i|qW|i|i| |i|_dS(Ntlive_filter_idt use_cachetoffsettcategoryit current_showt start_timet finish_timeR/sutf-8Rtfilest,tbitrateR#Rt live_formatt show_timetbitratesticons>Программа телеканала отсутствуетt-tfavoritet1t0RtformatttvshowR(RRkt getOffsettinttconfigtGetValueRStgetLiveChannelsRtorder_live_chanelsRKRtjoinRRtloadLiveChannelPagetformat_for_live_channaleR RRRRRRRt LIVE_CHANNELSR(RRRRRtchantcurrent_start_timetcurrent_finish_timet current_titlet_[1]Rt bitrate_listt time_rangeRRRRRRt_[2]R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt liveChannelscs` '"CU &   <   cCs`g}xC|iD]8}|dtjo!|ii||i|qqW||i|_|S(NR(RKR tremoveR(Rtchannelst favoritesR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRs cCsM|ddjodS|didjo|ddd}nd}|S(NRtzixiRiiRtmp4(R((RR$R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRs t500Rt800t2t1200t3RcCshd|_|ii|ihtd6|d6td6|d6|d6|d6|d6|d 6|iidS( NiR$R#R%RRRRR(t genres_levelR@R"RR(RR#RRRRR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRs  tetptytttmRRtvtdtot/txRtftlcCsN|iid}|pd|_t|i}nt||_t|S(Ntqualityi(RRRRR(Rtq((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt getQualitys  cCs|iddid}|i}|d}t|djo|d jo |dSnt|djo ||St|djo0|djo |dS|djo |dSn|dS( NiRRiiiii(ii(R@tsplitRtlen(RRRR!((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytgetLiveBitrates         cCs|iid}t|S(Ntshifting(RRR(Rtval((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRsc Cs|i}|idd}|idd}|idd}|i}|iidtd|d|d|d |id }|i|d |dS( NiR#RRtliveRRt channel_idRsutf-8R/(RR@RRSt get_xbmc_urlR Rtplay(RRtlive_idRR/Rturl((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytrunLiveChannelSHifts  6cCs|it}|i}ti|id}|ddjo|ddj}|o t}nt}|ddh|d6|d6t|i d 6}|i ~dS( NRKtparentRRt MediaObjectt DefaultSkintparamst main_windowR@( RRltgetSelectedItemRtloadst getPropertyRRRR@R(RtcontroltselectedRKt no_containertWindowtwn((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytshowMediaDetailss ! 0 RzcCs4ti|}|GHtitii||dS(N(RRR~RRR (RRR/R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR scCs]|id}g}x4tD],}ti}|i||i|qW|i|dS(Ni(RtLETTERSRRRRR(Rtletterst list_itemstcharR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR?s  icCs|p+|id}|i}|i}n|iiiiddjod|iiid(RR[Rtr_idRR>R=R%((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytgetGenrOrChannelOrFolderDsh     +(% " &/cCs|ii}g}x^|iD]S}ti}|idt|d|i|did|i |qW|i t }|i |i ||i|_|djo d|_ndS(NR#Rsutf-8(RSt getChannelsRKRRRRRRRRRmRRRCRR RB(RR%RtitemLRRtlst_ctrl((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRFs      iic Cs|iid|d|d|}g}|o=ti} | idd| idd|i| nxx|iD]m} ti} | idt| d| idt| d| i| di d |i| quWt |ioI||i jo9|i d 7_ |i t} | i| i|nZt |ioI||ijo9|i d 8_ |i t} | i| i|n|i|_dS( Nt parent_idR R=R#RtbackRRsutf-8i(RSRARRRRRKRRRRtINCRnRRmRRtDECR@R( RRt parent_labelR$R<R=R>tgenresRGRRRH((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRAs2!       cCs|idtdS(NR=(RAR (R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytgetNewArrivalsGenressc Cs4t|idjo t}nt}t|idjo|iid}|idid}|i|igjo t}nt}|ido d|_ d|_ |i nf|idoUd}|i djo|}d}n|i d |d |d |i d |d|n|iindS( NiiiR#R$iR%iRR=R<R>(RR@RR tpopR\RCRwR RBRnRFRARLR(RR>tshrinkedtgenre_idR=R$((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR?s(     /cCs&|iid|}|i|dS(NR#(RStgetMainPageMediaItemsRf(RR#RP((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR>scCs|it}g}x^|iD]S}ti}|idt|d|i|did|i |qW|i |i ||i |_ dS(NR#R/sutf-8(RRmtMAIN_PAGE_ITEMSRRRRRRRRRt MAIN_ITEMSR(RRRRR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR=s    i#cCs'tdh|d6}|i~dS(NRR(RR(RR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt showSettingss cCs+|i|ijo|iidndS(Ni#(RCRDR9RG(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt onright_livesc Cs|it}t|id}|i||i|id|idd|idd|id|id}|idi||id }|d jo$|ii d |ii d n!|ii d |ii d |i |dS( NR#RRRRRRi5RRi#i#( t get_menu_itemRkRRRR&RRjR9RER:tgetLiveScheduleForXBMC(RRR RR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRFsL cCs|i|}|iS(N(RR(Rtlist_idR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRXsc Cs4||_||_|ii|d|}|id}g}x|iD]}ti}|i|di d|i |d|d}||i ddjo|i d d n|i d||i |qIW|i|i|td d d|d t} |id i| |i|_dS(NRi#Rsutf-8RRiRtcurrentRu%d %B %Yt inflectedi%(tcurrent_channel_idtcurrent_schedule_dayRStgetLiveScheduleRRKRRRRRR@RRRRR R RR( RR RRPt show_listRGRRt formed_timeR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRYs&      cCs0|itdd}|i|id|dS(NtdaysiR(R^RRYR](Rt next_date((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt schedule_next(scCs0|itdd}|i|id|dS(NRbiR(R^RRYR](Rt previous_date((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytschedule_previous.scCs|idi|dS(Ni#(RR(Rt status_text((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt set_status4scCs_|idd}|ii||iid|iid|iid|idS(NiR#i#i#(R@RStremoveLiveChannelFromFavoritesR9R:RERGR(Rtch_id((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRi7s cCs_|idd}|ii||iid|iid|iid|idS(NiR#i#i#(R@RStaddLiveChannelToFavoritesR9R:RERGR(RRj((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRk@s i#c Cst|it}|i}|i|id|i|id|idd|idd|iddS(NR#RRRRR(RRkRRRR&(RRR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytliveChannelOnUpDownIs i#cCs|iid|idS(Ni]#(R9RGtshowZonesLiveTV(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt goToShiftingsPsi#cCs|iid|idS(Ni#(R9RGtgetLiveCategories(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt goToFiltersUscCsg}|id}xxtD]p}ti}|idt|d|id|did|i|did|i|qW|i |i |dS(Ni[#Ritareaisutf-8i( Rt TIMEZONESRRRRRRRRR(RRGR`tzoneR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRmZs  cCst|id}|id}|id}|idi||iid||iid|idS(Ni[#RRqi#Ri#( RXRRRRtSetValueR9RGR(RRRt label_area((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytset_setting_shiftingfscCs|iid}|pd}|iiddnxLtD]D}|dt|jo'|idi|didq=q=WdS(NRiRi#isutf-8(RRRtRrRRRR(RRRs((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRHpscCsg|iid}|p4d}|iidd}|iid|}n|idi|dS(Ntlive_filter_namesВсе каналыRRi#(RRRtRR(RR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRIys cCs|ii}ti}|idd|id|g}|id}x^|iD]S}ti}|idt|d|i|di d|i |qZW|i |i |dS(NR#RsВсе каналыi^#Rsutf-8( RStgetLiveCategoryRRRRRRKRRRRR(Rt categoriesRRGR`R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyRos      cCs|id}|id}|i}|idi||iid||iid||iid|i dS(Ni^#R#i#RRwi#( RXRR&RRRRtR9RGR(RRt category_idR((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytsetCategoryFilters iKcCs(t||jo || dS|SdS(Ns...(R(RttextR ((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyttrunks cCs|idddjo|idd}nB|idd}|i|idddd}d||f}|i|dS(NiRs>Программа телеканала отсутствуетRR iPsВ эфире: %s (%s)(R@R}Rh(RR|Rt to_insert((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyt onPlayFocuss  cCs|iddS(Ns1Добавить в "Любимые каналы"(Rh(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonFavoriteAddFocusscCs|iddS(Ns3Удалить из "Любимых каналов"(Rh(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonFavoriteRemoveFocusscCs|iddS(Ns1Смотреть с другого сервера(Rh(R((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pytonPlayOtherFocussN(~R*R+R RtxmltrangeRCR@RRRUtNULLRpRsRwRuRet MENU_SEARCHRqRDRRTRRRRSRJR<RLRtonclickt in_threadt with_progressRgRiRoRARrRtRvRxRyR{R|RR8RfRRRmRRRRRRRRRRtZIXI_QUALITY_TO_BITRATERtvaluesRRtreversetMMTPt_TYPERRRRkRRlRR R?R*R,R.R1R2R4R6R0R;RERFRBRLRKRAROR?R>R=RVtonrightRWRFRXRR=RYRdRfRhRiRktondowntonupRlRnRpRmRvRHRIRoR{R}tonfocusRRRR(((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyR.Zs'     * 6         8 $ @       G  !   0           (uАuБuВuГuДuЕuЖuЗuИuКuЛuМuНuОuПuРuСuТuУuФuХuЦuЧuШuЩuЭuЮuЯi(iu Москваu Москва(iuНью-ЙоркuНью-Йорк(iu Чикагоu Чикаго(iu Денверu Денвер(iuЛос-АнджелесuЛос-Андж.(#RR~Rt simplejsonRRRRtdefinet frameworkRtetvnet.detailsRRt etvnet.apiRtetvnet.settingsRRR RtETVNET_API_URItDEFAULT_CHARSETRt ALL_GENRESt ALL_CHANNELStCACHE_EXPIRES_SECRrR[R t framework.guiR-Rt XMLWindowR.(((s[/Users/polinom/Library/Application Support/XBMC/addons/script.video.etvnet/etvnet/client.pyts8     0