Ë
    Î£jù
  ã                   ó¦   — d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ  e j                  «       Zdedefd	„Zd
ededefd„Zdedefd„Zy)é    N)ÚPath)ÚVPKFile)Úconfig)ÚFileHandler)Úget_vpk_nameÚ	file_pathÚreturnc                 óv   — dt        | «      j                  «       v xr | j                  j                  «       dk(  S )NÚskyboxz.vmt)ÚstrÚlowerÚsuffix)r   s    úOC:\Users\pivot\Documents\cueki\casual-preloader\core\handlers\skybox_handler.pyÚis_skybox_vmtr      s8   € Øœ˜I›×,Ñ,Ó.Ð.ò /Ø×Ñ×"Ñ"Ó$¨Ñ.ð0ó    Útemp_dirÚtf_pathc                 ón  — | dz  dz  }|j                  «       syt        |j                  d«      «      }|syt        j	                  dt        |«      › d| j                  › �«       |t        |«      z  }d}t        |«      }|D ]ü  }	 |j                  d«      5 }|j                  «       }	d d d «       t        d|j                  z   «      }
|j                  d	«      }|j                  «       r>| dz  |
› d	�z  }|j                  j                  d
d
¬«       t!        j"                  ||«       |j                  }d|z   }|st        j%                  d|› d�d
¬«       ŒÔ|j'                  |	«      }|j)                  «        |r|dz  }Œþ |S # 1 sw Y   ŒÜxY w# t*        $ r t        j-                  d|› �«       Y �Œ1w xY w)NÚ	materialsr   r   ú*.vmtzFound z skybox vmts in Úrbzskybox/z.vtfT)ÚparentsÚexist_okúmaterials/skybox/zCould not find z in VPK)Ú
stack_infoé   zError processing skybox VMT )ÚexistsÚlistÚglobÚlogÚinfoÚlenÚnamer   r   ÚopenÚreadr   ÚstemÚwith_suffixÚparentÚmkdirÚshutilÚmoveÚerrorÚprocess_fileÚunlinkÚ	ExceptionÚ	exception)r   r   Ú
skybox_dirÚskybox_vmtsÚvpk_fileÚpatched_countÚfile_handlerÚvmt_fileÚfÚvmt_contentÚtexture_pathÚorig_vtf_pathÚnew_vtf_pathÚvmt_filenameÚtarget_pathÚsuccesss                   r   Úhandle_skybox_modsr?      s±  € à˜KÑ'¨(Ñ2€JØ×ÑÔØä�z—‘ wÓ/Ó0€KÙØä‡H�Hˆv”c˜+Ó&Ð'Ð'7¸¿¹°ÐGÔHØœ gÓ.Ñ.€HØ€MÜ˜xÓ(€LÛˆð	EØ—‘˜tÔ$¨ØŸf™f›h�÷ %ô   	¨H¯M©MÑ 9Ó:ˆLð %×0Ñ0°Ó8ˆMØ×#Ñ#Ô%Ø'¨+Ñ5¸<¸.ÈÐ8MÑM�Ø×#Ñ#×)Ñ)°$ÀÐ)ÔFÜ—‘˜M¨<Ô8ð $Ÿ=™=ˆLØ-°Ñ<ˆKáÜ—	‘	˜O¨L¨>¸ÐAÈd�	ÔSØð #×/Ñ/°¸[ÓIˆGØ�O‰OÔáØ Ñ"�øð9  ðB Ð÷? %Ð$ûô8 ò 	EÜ�M‰MÐ8¸¸
ÐC×Dð	Eús1   ÂFÂFÂ(B-FÅ)FÆF	ÆFÆ!F4Æ3F4c                 ó²  — t         j                  dz  }|j                  «       syt        | t	        | «      z  «      }d}|j                  d«      D ]R  }|j                  }	 d|› �}t        |d«      5 }|j                  «       }d d d «       |j                  |d¬«      r|dz  }ŒT |S # 1 sw Y   Œ&xY w# t        $ r t        j                  d	|› �«       Y Œ†w xY w)
Nzbackup/materials/skyboxr   r   r   r   F)Úcreate_backupr   zError restoring skybox )r   Úinstall_dirr   r   r   r   r#   r$   r%   Ú
patch_filer/   r    r0   )	r   Úbackup_skybox_dirÚvpkÚrestored_countÚ
skybox_vmtÚvmt_namer   r7   Úoriginal_contents	            r   Úrestore_skybox_filesrJ   E   sà   € Ü×*Ñ*Ð-FÑFÐØ×#Ñ#Ô%Øä
�'œL¨Ó1Ñ1Ó
2€CØ€Nà'×,Ñ,¨WÖ5ˆ
Ø—?‘?ˆð
	@Ø+¨H¨:Ð6ˆIä�j $Ô'¨1Ø#$§6¡6£8Ð ÷ (ð �~‰~˜iÐ)9Èˆ~ÔOØ !Ñ#�øð 6ð Ð÷ (Ð'ûô ò 	@Ü�M‰MÐ3°H°:Ð>Ö?ð	@ús*   ÁB2Á0B&Â!B2Â&B/	Â+B2Â2!CÃC)Úloggingr*   Úpathlibr   Úvalve_parsersr   Úcore.configr   Úcore.handlers.file_handlerr   Úcore.util.vpkr   Ú	getLoggerr    Úboolr   Úintr?   rJ   © r   r   Ú<module>rU      sk   ðÛ Û Ý å !å Ý 2Ý &à€g×ÑÓ€ð0˜Tð 0 dó 0ð
/ ð /°ð /¸ó /ðd $ð ¨3ô r   