
    %j                     b   d dl mZ d dlZd dlZd dlZd dlmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZmZ d dl d d	lmZmZ d d
lmZ d dl g dZ G d de      Z e       Zej8                  Zedk(  r7 edej?                                 edejA                                ejA                         d    Z! ee!jD                         ejG                  e!jD                        jI                  d      D ]
  Z% ee%        ejG                  e!jD                        jM                  d      Z' ee'       d dlZejG                  e!jD                        Z#dZ(e#jS                   ejT                  d      e(d        ede#jM                  e(             e#jW                  e(      D ]
  Z, ee,        yy)    )print_functionN)IteratorListOptionalUnion)
deprecated)AdbConnection)
BaseClient)	AdbDeviceSync)*)adb_path	StopEvent)__version__)	r   r	   	AdbClientr   r   AdbErrorr   adbdevicec                       e Zd ZdedefdZ edded      	 	 dded	eee	e
f   d
edee   deeef   f
d       Zddee   fdZ	dee   fdZdej                   e   fdZ	 	 ddee   dee   defdZy)r   serialreturnc                 6    t        | j                  |            S N)r   r   )selfr   s     U/var/www/oz-panel.ru/ozpay-pub/venv/lib/python3.12/site-packages/adbutils/__init__.pysynczAdbClient.sync"   s    DKK'((    z0.15.0z1.0.0zuse AdbDevice.shell instead)deprecated_in
removed_incurrent_versiondetailsNcommandstreamtimeoutc                 J    | j                  |      j                  |||d      S )Nzutf-8)r#   r$   encoding)r   shell)r   r   r"   r#   r$   s        r   r'   zAdbClient.shell%   s(     {{6"(([b(ccr   c           	         g }| j                         5 }|r|j                  d       n|j                  d       |j                          |j                         }|j	                         D ]  }|j                         }i }d}t        |      |k  r&|r6||d D ].  }	|	j                  dd      }
t        |
      dk7  r$|
d   ||
d   <   0 |j                  t        |d   |d   |              	 ddd       |S # 1 sw Y   |S xY w)	zM
        Returns:
            list of device info, including offline
        zhost:devices-lzhost:devices   N:   r   )r   statetags)	make_connectionsend_command
check_okayread_string_block
splitlinessplitlenappendAdbDeviceInfo)r   extendedinfoscoutputlinepartsr-   num_required_fieldspartfieldss              r   listzAdbClient.list0   s   
 !!# 	Xq/0~.LLN((*F))+ X

&'#u: 33 %&9&: ; 4!%C!3v;!+$*0)VAY	4
 ]%(%(QUVWX	X( )	X( s   CC77Dc              #      K   | j                         D ]+  }|j                  dk7  rt        | |j                         - yw)zL
        Returns:
            iter only AdbDevice with state:device
        r   r   N)r@   r,   r   r   )r   infos     r   iter_devicezAdbClient.iter_deviceL   s=     
 IIK 	6DzzX%D55	6s   A Ac                 4    t        | j                               S r   )r@   rD   )r   s    r   device_listzAdbClient.device_listV   s    D$$&''r   transport_idc                 &   |rt        | |      S |rt        | |      S t        j                  j                  d      }|sG| j	                         }t        |      dk(  rt        d      t        |      dkD  rt        d      |d   S t        | |      S )NrB   )rG   ANDROID_SERIALr   z&Can't find any android device/emulatorr+   z?more than one device/emulator, please specify the serial number)r   osenvirongetrF   r4   r   )r   r   rG   dss       r   r   zAdbClient.deviceY   s     T&11T== 01!!#B2w!|GHH2w{U  a5Lv&&r   )FN)F)NN)__name__
__module____qualname__strr   r   r   r   r   r@   tupleboolr   floatr	   r'   r   r6   r   r   rD   typingrF   intr    r   r   r   r   !   s    )3 )4 ) h" +57 #)-	ddS$-.d d  	d 38]8J2K	d	7dd=&9 86Xi0 6(V[[3 ( (,-1'}'%c]'6?'r   r   __main__zserver version:zdevices:z/data/local/tmpz/data/local/tmp/hi.txts(   hi5a4de5f4qa6we541fq6w1ef5a61f65ew1rf6wei  FileInfo)-
__future__r   iorJ   rU   r   r   r   r   deprecationr   adbutils._adbr	   r
   _BaseClientadbutils._devicer   r   adbutils._protoadbutils._utilsr   r   adbutils._versionr   adbutils.errors__all__r   r   r   rN   printserver_versionrF   dr   r   iter_directoryfstatfinfofilepathpushBytesIOiter_contentchunkrW   r   r   <module>rq      sn   & 	 	  2 2 " ' 3 ,  / ) 
K' K'^ k	 z	
S//12	*coo'(!A	!((OXXahh../@A a HHQXX##$56E	%L88AHHD'HIIjbjjDE 
*dii)*""8, e% r   