§
   JT¥Äaê¢ã                   ó~   — d Z ddlZddlZddlZddlZddlZddlmZmZ dZ	d\  Z
ZZd„ Zd„ Zd„ Zd	„ Zdd
„Zd„ Zd„ ZdS )zÔReset of everything watched / in progress (user request 2026-10-01): addon store, Recently played, MyTV and
MyCinema channel progress and Kodi's own watched / resume data. Lists, channels and search history stay.é    N)ÚmirrorÚstorezplugin.video.milionar)i~  i~  i~  c                 ó|   — t          j        t          j        t          j        dd| |dœ¦  «        ¦  «        ¦  «        S )Nz2.0é   )ÚjsonrpcÚidÚmethodÚparams)ÚjsonÚloadsÚxbmcÚexecuteJSONRPCÚdumps)r	   r
   s     ú`/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/library2/reset.pyÚ_rpcr      s5   € ÝŒ:•dÔ)­$¬*ÀÈaÐ[aÐmsÐ5tÐ5tÑ*uÔ*uÑvÔvÑwÔwÐwó    c                  óZ   — t          j        d                     t          ¦  «        ¦  «        S )Nz special://profile/addon_data/{}/)ÚxbmcvfsÚtranslatePathÚformatÚADDON_ID© r   r   Ú_profiler      s"   € ÝÔ Ð!C×!JÒ!JÍ8Ñ!TÔ!TÑUÔUÐUr   c                 óÆ   — d}| D ][\  }}}}t          j        |dk    rdnd|||¦  «        }t          d|ddddddœdœ¦  «        }||                     d	¦  «        d
k    z  }Œ\|S )zEKodi's records of the addon's canonical URLs (what the mirror wrote).r   ÚmovieÚepisodezFiles.SetFileDetailsÚvideoÚ ©ÚpositionÚtotal)ÚfileÚmediaÚ	playcountÚ
lastplayedÚresumeÚresultÚOK)r   Úcanonical_forr   Úget)ÚkeysÚdoneÚkindÚtmdb_idÚseasonr   ÚurlÚreplys           r   Ú_zero_kodi_recordsr2      s›   € à€DØ*.ð ,ð ,Ñ&ˆˆg�v˜wÝÔ"¨d°gªo¨o 7 7À9ÈgÐW]Ð_fÑgÔgˆÝÐ+°cÀGÐZ[ÐkmØEFÐQRÐ8SÐ8Sð.Uð .Uñ Vô Vˆà�—	’	˜(Ñ#Ô# tÒ+Ñ+ˆˆØ€Kr   c                  ó
  — dddddœddddœgi} d	}d
D ]o\  }}}}t          || dgdœ¦  «                             d¦  «        pi                      |g ¦  «        }|D ](}t          ||||         dd	dddd	d	dœi¦  «         |dz  }Œ)Œp|S )zPWatched flags and resume points of the Kodi video library (movies and episodes).Úorr$   ÚgreaterthanÚ0)ÚfieldÚoperatorÚvalueÚ
inprogressÚtruer   r   ))zVideoLibrary.GetMoviesÚmovieszVideoLibrary.SetMovieDetailsÚmovieid)zVideoLibrary.GetEpisodesÚepisodeszVideoLibrary.SetEpisodeDetailsÚ	episodeid)ÚfilterÚ
propertiesr'   r%   r&   r   r   )r   r*   )ÚfltÚclearedr	   ÚkeyÚsetterÚid_keyÚrowsÚrows           r   Ú_reset_kodi_libraryrI   $   sã   € à˜K°]ÈSÐQÐQØ(°fÀrÐJÐJðLð M€Cà€Gð(eð ð Ñ#ˆ��V˜Võ �V¨¸K¸=ÐIÐIÑJÔJ×NÒNÈxÑXÔXÐ^Ð\^×cÒcÐdgÐikÑlÔlˆØð 	ð 	ˆCÝ�˜& # f¤+¨{¸A¸|ÈRÐQYÐhiÐtuÐ[vÐ[vÐwÑxÔxÐxØ�q‰LˆGˆGð	ð €Nr   c                 ó.  — d}t           j                             | ¦  «        sdS |pt          j        | ¦  «        D ]Z}t           j                             | |¦  «        }t           j                             |¦  «        rt          j        |¦  «         |dz  }Œ[|S )Nr   r   )ÚosÚpathÚisdirÚlistdirÚjoinÚisfileÚremove)ÚfolderÚnamesÚremovedÚnamerL   s        r   Ú_remove_filesrV   3   s‡   € Ø€GÝŒ7�=Š=˜Ñ Ô ð ØˆqØÐ,�"œ* VÑ,Ô,ð ð ˆÝŒw�|Š|˜F DÑ)Ô)ˆÝŒ7�>Š>˜$ÑÔð 	ÝŒI�d‰OŒOˆOØ�q‰LˆGøØ€Nr   c                  ó6  — t          ¦   «         } i }t          t          j        ¦   «         ¦  «        |d<   t	          ¦   «         |d<   |                     t          j        ¦   «         ¦  «         t          j        ¦   «         |d<   t          | ddg¦  «        |d<   t          t          j
                             | d¦  «        ¦  «        t          t          j
                             | d¦  «        ¦  «        z   |d	<   	 d
dlm}  |h d£¦  «         n# t          $ r Y nw xY w|S )z'Do the reset; returns a dict of counts.Úkodi_mirrorÚkodi_libraryÚtastezglobal_watch_history.jsonzrecently_played.jsonÚrecentÚmytv_historyÚmycinema_historyÚchannelsr   )Úchanged>   Úwidget_mytv_nextÚwidget_game_topicsÚwidget_mytv_channelsÚwidget_mycinema_channels)r   r2   r   Úall_state_keysrI   ÚupdateÚreset_watch_stateÚreset_tasterV   rK   rL   rO   Úwcs.skin.refreshr_   Ú	Exception)ÚprofileÚcountsr_   s      r   Ú	reset_allrl   ?   s  € å‰jŒj€GØ€FÝ.­uÔ/CÑ/EÔ/EÑFÔF€Fˆ=ÑÝ0Ñ2Ô2€Fˆ>ÑØ
‡M‚M•%Ô)Ñ+Ô+Ñ,Ô,Ð,ÝÔ'Ñ)Ô)€Fˆ7�OÝ$ WÐ/JÐLbÐ.cÑdÔd€Fˆ8ÑÝ&¥r¤w§|¢|°G¸^Ñ'LÔ'LÑMÔMÝ•b”g—l’l 7Ð,>Ñ?Ô?Ñ@Ô@ñA€Fˆ:ÑðØ,Ð,Ð,Ð,Ð,Ð,ØˆÐnÐnÐnÑoÔoÐoÐoøÝð ð ð Øˆðøøøà€Ms   Ã5D	 Ä	
DÄDc                 óš  — t          j        ¦   «                              |                      t          ¦  «        |                      t
          ¦  «        ¦  «        sd S t          ¦   «         }t          j        d 	                    |¦  «        t          j
        ¦  «         t          j        ¦   «                              d|                      t          ¦  «        t           j        d¦  «         	 ddlm} |                     d¦  «         nI# t"          $ r<}t          j        d 	                    |¦  «        t          j        ¦  «         Y d }~nd }~ww xY w|S )Nu,   [MilionÃ¡Å™ Library] watch history reset: {}u
   MilionÃ¡Å™i   r   )ÚserviceÚresetu<   [MilionÃ¡Å™ Library] Pro tebe rebuild after reset failed: {})ÚxbmcguiÚDialogÚyesnoÚgetLocalizedStringÚS_TITLEÚ	S_CONFIRMrl   r   Úlogr   ÚLOGINFOÚnotificationÚS_DONEÚNOTIFICATION_INFOÚ
wcs.foryourn   Ú	build_nowri   Ú
LOGWARNING)Úaddonrk   rn   Úexcs       r   Úconfirm_and_resetr€   R   s1  € ÝŒ>ÑÔ×!Ò! %×":Ò":½7Ñ"CÔ"CÀU×E]ÒE]Õ^gÑEhÔEhÑiÔið ØˆtÝ‰[Œ[€FÝ„HÐ;×BÒBÀ6ÑJÔJÍDÌLÑYÔYÐYÝ„NÑÔ×!Ò! ,°×0HÒ0HÍÑ0PÔ0PÕRYÔRkÐmqÑrÔrÐrðnØ&Ð&Ð&Ð&Ð&Ð&Ø×Ò˜'Ñ"Ô"Ð"Ð"øÝð nð nð nÝŒÐO×VÒVÐWZÑ[Ô[Õ]aÔ]lÑmÔmÐmÐmÐmÐmÐmÐmøøøøðnøøøà€Ms   Ã&D Ä
EÄ2EÅE)N)Ú__doc__r   rK   r   rp   r   Úwcs.library2r   r   r   rt   ru   ry   r   r   r2   rI   rV   rl   r€   r   r   r   ú<module>rƒ      så   ððlð là €€€Ø 	€	€	€	à €€€Ø €€€Ø €€€à &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à"€Ø0Ñ €ˆ�Fðxð xð xðVð Vð Vðð ð ðð ð ð	ð 	ð 	ð 	ðð ð ð&ð ð ð ð r   