
    %j                     Z    d dl Z d dlZd dlmZ  e j                  e      Z G d de      Zy)    N)Anyc                   h    e Zd ZdZd ZdefdZdedefdZ	dedefd	Z
dedefd
ZdedefdZd Zy)Settingsu    赋值时会检查类型 c                    || _         dddddgddd| _        ddd d d	| _        t        t        ft
        t
        d
| _        | j                  j                         D ]O  \  }}|| j                  vst        |      t        t        fv rt        t        fn
t        |      | j                  |<   Q d| j                  i| _
        y )Ng      4@F)r   r   clickswipe2   )wait_timeoutxpath_debugoperation_delayoperation_delay_methodsfallback_to_blank_screenshot	max_depthzUse operation_delay instead)click_after_delayclick_before_delay
post_delay"uiautomator_runtest_app_background)r   r   r   r   )_d	_defaults_deprecated_propsfloatintbool_prop_typesitemstype_Settings__set_operation_delay_set_methods)selfdkvs       Y/var/www/oz-panel.ru/ozpay-pub/venv/lib/python3.12/site-packages/uiautomator2/settings.py__init__zSettings.__init__   s     ! %(/'9,1
 "?"?26	"
 !#,,0

 NN((* 	[DAq(((6:1g%6MuclSWXYSZ  #	[
 t99
    valuec                 .   t        |t        t        f      r||f}t        |t        t        f      rt        |      dk(  sJ d       |\  }}t        |t        t        f      sJ d       t        |t        t        f      sJ d       ||f| j                  d<   y)u(    设置操作的(点击)的前后延时    z/operation_delay only accept list with two itemsz.operation_delay can only contains int or floatr   N)
isinstancer   r   listtuplelenr   )r   r&   _preposts       r#   __set_operation_delayzSettings.__set_operation_delay1   s    ec5\*ENEedE]+u:?U$UU?
d$e-_/__-$e-_/__--14L()r%   keyreturnc                 8    | j                   j                  |      S N)r   getr   r0   s     r#   r4   zSettings.get>   s    ~~!!#&&r%   valc                    || j                   v r | j                   |   |      S || j                  v rH| j                  |   }|sdj                  |      }t        j	                  dj                  ||             y || j
                  vrt        d|      t        || j
                  |         st        d| j
                  |   z        || j                  |<   y )Nz{} is deprecatedzd.settings[{}] deprecated: {}zinvalid attributezinvalid type, only accept: %r)
r   r   formatloggerwarningr   AttributeErrorr)   	TypeErrorr   )r   r0   r6   reasons       r#   _setzSettings._setA   s    $###)4$$S)#.. $(((++C0F+2237NN:AA#vNO d&&& !4c:: #t//45;d>N>Ns>SSTT!sr%   c                 (    | j                  ||       y r3   )r>   )r   r0   r6   s      r#   __setitem__zSettings.__setitem__X   s    		#sr%   c                 X    || j                   vrt        d|      | j                  |      S )Nzinvalid key)r   RuntimeErrorr4   r5   s     r#   __getitem__zSettings.__getitem__[   s)    dnn$}c22xx}r%   c                 @    t        j                  | j                        S r3   )pprintpformatr   )r   s    r#   __repr__zSettings.__repr__`   s    ~~dnn--r%   N)__name__
__module____qualname____doc__r$   r+   r   strr   r4   r>   r@   rC   rG    r%   r#   r   r   
   sh    $
J95 9's 's '" "# ".s  s s 
.r%   r   )	loggingrE   typingr   	getLoggerrH   r9   objectr   rM   r%   r#   <module>rR      s0      			8	$W.v W.r%   