
    %j#                     0   d dl mZmZ d dlZd dlZd dl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 d dlmZmZ d dlmZ d dlmZ  ej(                  e      Zdedefd	Zd
 Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%e$ddddedddgdddd d!ged"d#d$gd%d&d'gd(ed)d*dded+d,d-gd%d.ed/d0gd(ed1d2d3gd4d5gd(ed6d7d8gd9d:d;d<gd=d>d'gd(e d?d@d<gedd>dAgd(e!dBdCd8gd9dDd;d<gd=d>d'gd(e"dEdFdGe#dHdIdGe%dJdKdGedLdMddgZ&dN Z'edOk(  r e'        yy)P    )absolute_importprint_functionN)enable_pretty_logging)DEFAULT_SERVER_PORT
check_port)with_package_resource)__version__valuereturnc                     	 t        |       }	 t	        |       |S # t        $ r t        j                  d|       w xY w# t        $ r#}t        j                  t        |            d }~ww xY w)Nzport must be an integer, got )int
ValueErrorargparseArgumentTypeErrorr   str)r
   portes      Y/var/www/oz-panel.ru/ozpay-pub/venv/lib/python3.12/site-packages/uiautomator2/__main__.py_valid_portr      sw    T5z14 K  T((+H	)RSST  1((Q001s    A  "= 	A,	A''A,c                    | j                   xs | j                  }|rRt        j                  || j                        }t
        j                  d|j                          |j                          y t        j                  j                         D ]c  }t        j                  || j                        }t
        j                  d|j                          |j                          |j                          e y )Nr   zinstall apk to %s)serialserial_optionalu2connectr   loggerdebug
_setup_jaradbutilsadbiter_device
_setup_ime)argsr   ddevs       r   cmd_initr&   $   s    [[0D00FJJvDII.(!((3	<<++- 	C

3TYY/ALL,ahh7LLNLLN		    c                 "   t         j                  j                  | j                        }|j	                  d       |j	                  d       |j                  g d       |j                  ddg       t        j                  d       |j                  ddg       |j                  ddg       |j                  dd	g       t        j                  d
       |j                  g d       |j                  g d       t        j                  d       y)z*remove minicap, minitouch, uiautomator ...com.github.uiautomatorcom.github.uiautomator.test)/data/local/tmp/atx-agentserverz--stoprmr+   zatx-agent stopped and removedz/data/local/tmp/minicapz/data/local/tmp/minicap.soz/data/local/tmp/minitouchzminicap, minitouch removed)pm	uninstallr)   )r.   r/   r*   z0com.github.uiautomator uninstalled, all done !!!N)r   r    devicer   r/   shellr   info)r#   r%   s     r   	cmd_purger3   2   s    
,,

dkk
*CMM*+MM/0II?@IIt012
KK/0IIt./0IIt123IIt012
KK,-II;<II@A
KKBCr'   c                 n   t        j                  d      }|j                  d       t        d      5 }|dz  }t	        j
                  ||       t        d|       d d d        t        d      5 }|dz  }t	        j
                  ||       t        d	|       d d d        y # 1 sw Y   ExY w# 1 sw Y   y xY w)
NassetsT)exist_okzassets/u2.jarzu2.jarzCopied u2.jar tozassets/app-uiautomator.apkzapp-uiautomator.apkzCopied app-uiautomator.apk to)pathlibPathmkdirr   shutilcopy2print)r#   
target_dirjar_pathtarget_pathapk_paths        r   cmd_copy_assetsrA   C   s    h'Jd#		/ /8 8+X{+ +./ 
;	< < #88X{+-{;< <	/ /< <s   (B.(B+B(+B4c                     t        j                  | j                  | j                        }|j	                         j                  | j                         t        d| j                  z         y )Nr   zSave screenshot to %s)r   r   r   r   
screenshotsavefilenamer<   r#   r$   s     r   cmd_screenshotrG   O   sD    


4;;TYY/ALLN&	
!DMM
12r'   c                     t        j                  | j                  | j                        }|j	                  | j
                        }t        d|       y )Nr   	Installed)r   r   r   r   app_installurlr<   )r#   upkg_names      r   cmd_installrN   U   s6    


4;;TYY/A}}TXX&H	+x r'   c                    t        j                  | j                  | j                        }| j                  r|j                  d       y | j                  D ]3  }t        d|z  dd       |j                  |      }t        |rdnd       5 y )	Nr   T)verbosezUninstall "%s"  )endflushOKFAIL)	r   r   r   r   allapp_uninstall_allpackage_namer<   app_uninstall)r#   r$   rX   oks       r   cmd_uninstallr[   [   ss    


4;;TYY/Axx	D) -- 	*L#l2$G.B"$&)	*r'   c                     t        j                  | j                  | j                        }|j	                  | j
                         y )Nr   )r   r   r   r   	app_startrX   rF   s     r   	cmd_startr^   f   s,    


4;;TYY/AKK!!"r'   c                     t        j                  | j                  | j                        }| j                  r|j                          y | j                  D ]!  }t        d|z         |j                  |       # y )Nr   zam force-stop "%s" )	r   r   r   r   rV   app_stop_allrX   r<   app_stop)r#   r$   rX   s      r   cmd_stoprb   k   s]    


4;;TYY/Axx	)) !#l23	

< !r'   c                     t        j                  | j                  | j                        }t	        t        j                  |j                         d      d       y )Nr      )indentT)rS   )r   r   r   r   r<   jsondumpsapp_currentrF   s     r   cmd_currentri   v   s5    


4;;TYY/A	$**Q]]_Q
/t<r'   c                 `   t        j                  | j                  | j                        }t        j                  d|j                         	 |j                   t        j                  d       y# t        $ r5}t        j                  d|       t        j                  d       Y d}~yd}~ww xY w)zcheck if environment is finer   zdevice serial: %szuiautomator2 is OKz	error: %s   N)r   r   r   r   r   r   r2   	Exceptionerrorsysexit)r#   r$   r   s      r   
cmd_doctorrp   {   sq    


4;;TYY/A
LL$ahh/	() [!$s   !A/ /	B-8+B((B-c                 (    t        dt        z         y)zprint uiautomator2 lib versionzuiautomator2 version: %sN)r<   r	   )r#   s    r   cmd_versionrr      s    	
${
23r'   c           
      F   dd l }dd l}t        j                  | j                  | j
                        }|j                  d      j                  j                         }|j                  }	 dd l	}ddl
m}  |       }d|j                  _        |j                  |dt         d       y # t         $ ro t#               j%                         }	|	j'                  t)                      |j+                  |	      }
|
j-                  d	|j/                         d
|d|d       Y y w xY w)Nr   r   zgetprop ro.product.model)
get_configneutralz IPython is ready, uiautomator2: z, try d.info)configheaderzPython: z	
Device: ())banner)codeplatformr   r   r   r   r1   outputstripIPythontraitlets.configrt   InteractiveShellEmbedcolorsembedr	   ImportErrorglobalscopyupdatelocalsInteractiveConsoleinteractpython_version)r#   r{   r|   r$   modelr   r   rt   c_varsr1   s              r   cmd_consoler      s    


4;;TYY/AGG./66<<>EXXF
/L)2&Q)I+Vb'cd 
	 VX''.&&(%9 	 	
	
s   *=B( (A5D D versionzshow versionT)actioncommandhelpno_portinitz&install enssential resources to devicez--addrz127.0.0.1:7912zatx-agent listen address)r#   defaultr   --serial-szserial number)r#   typer   r   ?zserial number, same as --serial)r#   nargsr   )r   r   r   flagszcopy-assetsz-copy uiautomator2 assets to current directoryrC   ztake device screenshotrE   zscreenshot.jpgzoutput filename, jpg or png)r#   r   r   r   r   installzinstall packagesrK   zpackage url)r#   r   r/   zuninstall packagesz--all
store_truezuninstall all packages)r#   r   r   rX   *zpackage namestartzstart application)r#   r   r   r   stopzstop applicationzstop allcurrentzshow current application)r   r   r   doctorzdetect connect problemconsolez!launch interactive python consolepurgez3remove minitouch, minicap, atx app etc, from devicec                     t        j                  d      } | j                  ddt        t        d       t        j                  t         j
                        }|j                  dd	d
d       |j                  ddt        d       |j                  d      }i }t        D ]  }|d   }|d   ||<   |j                  d      rg n| g}|j                  ||j                  d      |t         j
                        }|j                  dg       D ]  }|j                  d      }	|	s+|d   D 
cg c]  }
dt        dt        |
            z  |
z    }	}
|j                         }|j                  dd        |j                  dd         |j                  |	i |   |j                         }	t!                |	j"                  rt$        j#                  d|	       |	j&                  r ||	j&                     |	       y |j)                          y c c}
w )NF)add_helpz-pz--portz,uiautomator2 server port on device (1-65535))r   r   r   )formatter_classz-dz--debugr   zshow log)r   r   r   r   zdevice serial number)r   r   	subparser)destr   r   r   r   )r   parentsr   r   r#   name-   zargs: %s)r   ArgumentParseradd_argumentr   r   ArgumentDefaultsHelpFormatterr   add_subparsers	_commandsget
add_parserminlenr   pop
parse_argsr   r   r   r   
print_help)sharedparserr   actionsr   cmd_namer   spfr#   nkwargss               r   mainr      s    $$e4F
h[BUK  M $$ >>@F
i'  )
js3  5 %%;%7IG -Y<hKi("vh!!(v*12:2X2X " Z w# 	-A55=D89&	B1C3q6N*Q.BBVVXFJJvt$JJvt$BOOT,V,	--  DzzZ&~~%
! Cs   ("H__main__)(
__future__r   r   r   rf   loggingr7   r:   rn   r   uiautomator2r   r   uiautomator2.corer   r   uiautomator2.utilsr   uiautomator2.versionr	   	getLogger__name__r   r   r   r   r&   r3   rA   rG   rN   r[   r^   rb   ri   rp   rr   r   r   r    r'   r   <module>r      s   7      
   . = 4 ,			8	$	s 	s 	D"
<3!*#
!=
	4

2 y.UYZ8 "
+2
 !$'oN*+9
	& " ?	 !( $+5
	 "Wm4
	  $Y,@XY$%^L
	 #*+S4Q_`a	 "Y,
K$%^L
	 y:TUh8PQy:]^E	WQ	h+^ zF r'   