Ë
    |¾�j@  ã                   ó0  — 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 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 d dlmZ  ej0                  e«      Z	 e 	 d dlmZ   G d„ deeee	eeee«
      Z#y# e$ r eZY Œ#w xY w# e!$ r	 d dl"mZ  Y Œ-w xY w)é    N)Ú	Transport)ÚSerial)ÚInput)ÚUtils)ÚWM)ÚTraffic)ÚCPUStat)ÚBatteryStats)ÚSync)Ú
AdbLogging)ÚInstallError)Úquotec                   óZ   — e Zd ZdZdZd„ Zdd„Zd„ Zdd„Zd„ Z		 	 	 	 	 	 	 	 dd	„Z
d
„ Zd„ Zy)ÚDevicez(Success|Failure|Error)\s?(.*)z((Success|Failure.*|.*Unknown package:.*)c                 ó    — || _         || _        y ©N)ÚclientÚserial)Úselfr   r   s      úM/var/www/api.ozpay.ru/ozpay/venv/lib/python3.12/site-packages/ppadb/device.pyÚ__init__zDevice.__init__%   s   € ØˆŒØˆ�ó    Nc                 ód   — | j                   j                  |¬«      }|r| j                  |«       |S )N)Útimeout)r   Úcreate_connectionÚ	transport)r   Úset_transportr   Úconns       r   r   zDevice.create_connection)   s-   € Ø�{‰{×,Ñ,°WÐ,Ó=ˆáØ�N‰N˜4Ô àˆr   c                 ó�   — | j                  «       }t        |«      }|5  |j                  ||||«       d d d «       y # 1 sw Y   y xY wr   )Úsyncr   Úpush)r   ÚsrcÚdestÚmodeÚprogressÚ	sync_connr    s          r   Ú_pushzDevice._push1   s@   € à—I‘I“Kˆ	Ü�I‹ˆàñ 	1Ø�I‰I�c˜4  xÔ0÷	1÷ 	1ñ 	1ús	   ž<¼Ac           
      óê  — t         j                  j                  |«      st        dj	                  |«      «      ‚t         j                  j                  |«      r| j                  ||||«       y t         j                  j                  |«      rçt         j                  j                  |«      }t        j                  |«      D ]¯  \  }}}t         j                  j                  ||j                  |d«      «      }	| j                  dj	                  ||	«      «       |D ]S  }
| j                  t         j                  j                  ||
«      t         j                  j                  ||	|
«      ||«       ŒU Œ± y y )NzCannot find {}Ú zmkdir -p {}/{})ÚosÚpathÚexistsÚFileNotFoundErrorÚformatÚisfiler'   ÚisdirÚbasenameÚwalkÚjoinÚreplaceÚshell)r   r"   r#   r$   r%   r1   ÚrootÚdirsÚfilesÚroot_dir_pathÚitems              r   r!   zDevice.push9   s  € Ü�w‰w�~‰~˜cÔ"Ü#Ð$4×$;Ñ$;¸CÓ$@ÓAÐAÜ�W‰W�^‰^˜CÔ Ø�J‰J�s˜D $¨Õ1Ü�W‰W�]‰]˜3ÔÜ—w‘w×'Ñ'¨Ó,ˆHä%'§W¡W¨S£\ò rÑ!��d˜EÜ "§¡§¡¨X°t·|±|ÀCÈÓ7LÓ M�à—
‘
Ð+×2Ñ2°4¸ÓGÔHà!ò r�DØ—J‘JœrŸw™wŸ|™|¨D°$Ó7¼¿¹¿¹ÀdÈMÐ[_Ó9`ÐbfÐhpÕqñrñrð  r   c                 óŒ   — | j                  «       }t        |«      }|5  |j                  ||«      cd d d «       S # 1 sw Y   y xY wr   )r    r   Úpull)r   r"   r#   r&   r    s        r   r<   zDevice.pullI   s<   € Ø—I‘I“Kˆ	Ü�I‹ˆàñ 	(Ø—9‘9˜S $Ó'÷	(÷ 	(ò 	(ús	   ž:ºAc
                 ó‚  — t        j                  |«      }
| j                  ||
«       g }|r|j                  d«       |r|j                  d«       |r|j                  d«       t	        |«      dkD  r |j                  dj                  |«      «       |r|j                  d«       |r|j                  d«       |r|j                  d«       |	r|j                  d	«       	 | j                  d
j                  dj                  |«      t        |
«      «      «      }t        j                  | j                  |«      }|r6|j                  d«      dk(  r"	 | j                  dj                  |
«      «       y|r|j                  «       }t        |
|d   «      ‚t        |
|«      ‚# | j                  dj                  |
«      «       w xY w)Nz-lz-rz-tr   z-i {}z-sz-fz-dz-gzpm install {} {}ú é   ÚSuccesszrm -f {}T)r   Útempr!   ÚappendÚlenr.   r5   r3   Ú	cmd_quoteÚreÚsearchÚINSTALL_RESULT_PATTERNÚgroupÚgroupsr   )r   r+   Úforward_lockÚ	reinstallÚtestÚinstaller_package_nameÚshared_mass_storageÚinternal_system_memoryÚ	downgradeÚgrand_all_permissionsr#   Ú
parametersÚresultÚmatchrI   s                  r   ÚinstallzDevice.installP   su  € ô �y‰y˜‹ˆØ�	‰	�$˜Ôàˆ
Ù˜×*Ñ*¨4Ô0Ù�j×'Ñ'¨Ô-Ù�×"Ñ" 4Ô(ÜÐ%Ó&¨Ò*¨J×,=Ñ,=¸g¿n¹nÐMcÓ>dÔ,eÙ 
× 1Ñ 1°$Ô 7Ù! :×#4Ñ#4°TÔ#:Ù�j×'Ñ'¨Ô-Ù  *×"3Ñ"3°DÔ"9ð	0Ø—Z‘ZÐ 2× 9Ñ 9¸#¿(¹(À:Ó:NÔPYÐZ^ÓP_Ó `ÓaˆFÜ—I‘I˜d×9Ñ9¸6ÓBˆEá˜Ÿ™ Q›¨9Ò4Øð �J‰J�z×(Ñ(¨Ó.Õ/ñ ØŸ™›�Ü" 4¨°©Ó3Ð3ä" 4¨Ó0Ð0øà�J‰J�z×(Ñ(¨Ó.Õ/ús   ÃA/F Å/-F Æ"F>c                 óN   — | j                  dj                  |«      «      }d|v ryy)Nz
pm path {}zpackage:TF)r5   r.   )r   ÚpackagerS   s      r   Úis_installedzDevice.is_installedu   s)   € Ø—‘˜L×/Ñ/°Ó8Ó9ˆà˜ÑØàr   c                 ó*  — | j                  dj                  |«      «      }t        j                  | j                  |«      }|r|j                  d«      dk(  ry|r%t        j                  |j                  d«      «       yt        j                  d«       y)Nzpm uninstall {}r?   r@   TFz&There is no message after uninstalling)r5   r.   rE   rF   ÚUNINSTALL_RESULT_PATTERNrH   ÚloggerÚerror)r   rW   rS   Úms       r   Ú	uninstallzDevice.uninstall}   sq   € Ø—‘Ð-×4Ñ4°WÓ=Ó>ˆä�I‰I�d×3Ñ3°VÓ<ˆá�—‘˜“˜yÒ(ØÙÜ�L‰L˜Ÿ™ ›Ô$Øä�L‰LÐAÔBØr   )TN)i¤  N)FFFr)   FFFF)Ú__name__Ú
__module__Ú__qualname__rG   rZ   r   r   r'   r!   r<   rU   rX   r^   © r   r   r   r   !   sR   „ Ø=ÐØIÐòóò1órò (ð #ØØØ')Ø$)Ø',ØØ&+ó#0òJór   r   )$rE   r*   Úppadb.command.transportr   Úppadb.command.serialr   Úppadb.plugins.device.inputr   Úppadb.plugins.device.utilsr   Úppadb.plugins.device.wmr   Úppadb.plugins.device.trafficr   Úppadb.plugins.device.cpustatr	   Ú!ppadb.plugins.device.batterystatsr
   Ú
ppadb.syncr   Úppadb.utils.loggerr   Úppadbr   Ú
get_loggerr_   r[   r-   Ú	NameErrorÚIOErrorÚshlexr   rD   ÚImportErrorÚpipesr   rb   r   r   ú<module>rt      s”   ðÛ 	Û 	å -Ý 'å ,Ý ,Ý &Ý 0Ý 0Ý :å å )å à	ˆ×	Ñ	˜xÓ	(€ð Ùð)Ý(ô
hˆY˜  u¨b°'¸7ÀLõ høð ò  ØÒð ûð
 ò )ß(ð)ús$   ÁA: Á!B Á:BÂBÂBÂB