
    'h(                     Z   S SK JrJr  \(       a,  S SK JrJr  \S   r " S S\SS9r " S S	\SS9r " S
 S\SS9rOS SK J	r	  \
r\\
\	4   =r=rr " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S\5      r " S S\5      r " S S\5      r " S S5      rg)     )TYPE_CHECKINGOptional)Literal	TypedDict)portrait	landscapec                   >    \ rS rSr% \\S'   \\S'   \\S'   \\S'   Srg)_MarginOpts   leftrighttopbottom N__name__
__module____qualname____firstlineno__float__annotations____static_attributes__r       u/var/www/home/psychics-availability/venv/lib/python3.13/site-packages/selenium/webdriver/common/print_page_options.pyr
   r
      s    
r   r
   F)totalc                   *    \ rS rSr% \\S'   \\S'   Srg)	_PageOpts    widthheightr   Nr   r   r   r   r   r       s    r   r   c                   b    \ rS rSr% \\S'   \\S'   \\S'   \\S'   \	\S'   \\S'   \
\   \S'   S	rg
)
_PrintOpts$   marginpage
backgroundorientationscaleshrinkToFit
pageRangesr   N)r   r   r   r   r
   r   r   boolOrientationr   liststrr   r   r   r   r"   r"   $   s.      Ir   r"   )Anyc                   <    \ rS rSrSrS rS\\   4S jrS	S jr	Sr
g)
_PageSettingsDescriptor4   z8Descriptor which validates `height` and 'width' of page.c                     Xl         g Nnameselfr6   s     r   __init__ _PageSettingsDescriptor.__init__7       	r   returnc                 N    UR                   R                  U R                  S 5      $ r4   )_pagegetr6   r8   objclss      r   __get___PageSettingsDescriptor.__get__:   s    yy}}TYY--r   Nc                     [        US5      " U R                  U5        X!R                  U R                  '   UR                  UR                  S'   g )N_validate_num_propertyr%   )getattrr6   r>   _print_optionsr8   rA   values      r   __set___PageSettingsDescriptor.__set__=   s<    -.tyy%@$		$))%(YY6"r   r5   r<   Nr   r   r   r   __doc__r9   r   r   rC   rK   r   r   r   r   r1   r1   4   s    B.8E? ./r   r1   c                   <    \ rS rSrSrS rS\\   4S jrS	S jr	Sr
g)
_MarginSettingsDescriptorC   zLDescriptor which validates below attributes.

- top
- bottom
- left
- right
c                     Xl         g r4   r5   r7   s     r   r9   "_MarginSettingsDescriptor.__init__L   r;   r   r<   c                 N    UR                   R                  U R                  S 5      $ r4   )_marginr?   r6   r@   s      r   rC   !_MarginSettingsDescriptor.__get__O   s    {{tyy$//r   Nc                     [        US5      " SU R                   3U5        X!R                  U R                  '   UR                  UR                  S'   g )NrF   zMargin r$   )rG   r6   rV   rH   rI   s      r   rK   !_MarginSettingsDescriptor.__set__R   sC    -./DeL!&DII'*{{8$r   r5   rM   rN   r   r   r   rQ   rQ   C   s!    08E? 03r   rQ   c                   <    \ rS rSrSrS rS\\   4S jrS	S jr	Sr
g)
_ScaleDescriptorX   z'Scale descriptor which validates scale.c                     Xl         g r4   r5   r7   s     r   r9   _ScaleDescriptor.__init__[   r;   r   r<   c                 L    UR                   R                  U R                  5      $ r4   rH   r?   r6   r@   s      r   rC   _ScaleDescriptor.__get__^   s    !!%%dii00r   Nc                     [        US5      " U R                  U5        US:  d  US:  a  [        S5      eX!R                  U R                  '   g )NrF   g?   z*Value of scale should be between 0.1 and 2)rG   r6   
ValueErrorrH   rI   s      r   rK   _ScaleDescriptor.__set__a   sC    -.tyy%@3;%!)IJJ(-499%r   r5   rM   rN   r   r   r   r[   r[   X   s    118E? 1.r   r[   c                   D    \ rS rSrSrSS/rS rS\\   4S jr	SS	 jr
S
rg)_PageOrientationDescriptorh   z?PageOrientation descriptor which validates orientation of page.r   r   c                     Xl         g r4   r5   r7   s     r   r9   #_PageOrientationDescriptor.__init__m   r;   r   r<   c                 N    UR                   R                  U R                  S 5      $ r4   r`   r@   s      r   rC   "_PageOrientationDescriptor.__get__p       !!%%dii66r   Nc                     X R                   ;  a  [        SU R                    35      eX!R                  U R                  '   g )Nz!Orientation value must be one of )ORIENTATION_VALUESrd   rH   r6   rI   s      r   rK   "_PageOrientationDescriptor.__set__s   s:    ///@AXAX@YZ[[(-499%r   r5   rM   )r   r   r   r   rO   ro   r9   r   r,   rC   rK   r   r   r   r   rg   rg   h   s+    I$k278K#8 7.r   rg   c                   6    \ rS rSrSrS\4S jrS rS	S jrSr	g)
_ValidateTypeDescriptory   zEBase Class Descriptor which validates type of any subclass attribute.expected_typec                     Xl         X l        g r4   )r6   rt   )r8   r6   rt   s      r   r9    _ValidateTypeDescriptor.__init__|   s    	*r   c                 N    UR                   R                  U R                  S 5      $ r4   r`   r@   s      r   rC   _ValidateTypeDescriptor.__get__   rm   r   Nc                     [        X R                  5      (       d.  [        U R                   SU R                  R                   35      eX!R
                  U R                  '   g )Nz should be of type )
isinstancert   rd   r6   r   rH   rI   s      r   rK   _ValidateTypeDescriptor.__set__   sM    %!3!344		{*=d>P>P>Y>Y=Z[\\(-499%r   )rt   r6   rM   )
r   r   r   r   rO   typer9   rC   rK   r   r   r   r   rr   rr   y   s    O+D +7.r   rr   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )_ValidateBackGround   z&Expected type of background attribute.c                 .   > [         TU ]  U[        5        g r4   superr9   r+   r8   r6   	__class__s     r   r9   _ValidateBackGround.__init__       t$r   r   r   r   r   r   rO   r9   r   __classcell__r   s   @r   r~   r~      s    0% %r   r~   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )_ValidateShrinkToFit   z)Expected type of shrink to fit attribute.c                 .   > [         TU ]  U[        5        g r4   r   r   s     r   r9   _ValidateShrinkToFit.__init__   r   r   r   r   r   s   @r   r   r      s    3% %r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )_ValidatePageRanges   z'Expected type of page ranges attribute.c                 .   > [         TU ]  U[        5        g r4   )r   r9   r-   r   s     r   r9   _ValidatePageRanges.__init__   r   r   r   r   r   s   @r   r   r      s    1% %r   r   c                   B   \ rS rSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
 \" S5      r \" S5      r \" S	5      r \" S
5      r \" S5      r \" S5      r SSS.rSSS.rSSS.rSSS.rSS jrS\4S jrS\SS4S jrS\S\ SS4S jr!Sr"g)PrintOptions   r    r   r   r   r   r   r(   r'   r&   r)   r*   g33333=@g      5@r    r   gHzA@gףp=
5@gq=
ף;@gףp=
E@r<   Nc                 x    0 U l         [        R                  S   [        R                  S   S.U l        0 U l        g )Nr    r   r   )rH   r   A4r>   rV   r8   s    r   r9   PrintOptions.__init__  s4    *,"ooh/!__W-!

 %'r   c                     U R                   $ )z-:Returns: A hash of print options configured.)rH   r   s    r   to_dictPrintOptions.to_dict  s    """r   	page_sizec                     U R                  SUS   5        U R                  SUS   5        US   U R                  S'   US   U R                  S'   U R                  U R                  S'   g)a?  Sets the page size to predefined or custom dimensions.

Parameters:
-----------
page_size: dict
A dictionary containing `height` and `width` as keys with respective values.

Example:
--------
self.set_page_size(PageSize.A4)  # A4 predefined size
self.set_page_size({"height": 15.0, "width": 20.0})  # Custom size in cm
r    r   r%   N)rF   r>   rH   )r8   r   s     r   set_page_sizePrintOptions.set_page_size  sh     	##Hi.AB##GYw-?@(2

8'0

7&*jjF#r   property_namerJ   c                 ~    [        U[        [        45      (       d  [        U S35      eUS:  a  [        U S35      eg)z3Helper function to validate some of the properties.z  should be an integer or a floatr   z cannot be less than 0N)rz   intr   rd   )r8   r   rJ   s      r   rF   #PrintOptions._validate_num_property  sE    %#u...NOPP19.DEFF r   )rV   r>   rH   rM   )#r   r   r   r   r1   page_height
page_widthrQ   
margin_topmargin_bottommargin_leftmargin_rightr[   r(   rg   r'   r~   r&   r   shrink_to_fitr   page_rangesr   LEGALLETTERTABLOIDr9   r"   r   dictr   r.   r   rF   r   r   r   r   r   r      s'   )(3K* )1J* +51J* .h7M* ,F3K* -W5L* W%E* -];K* %\2J* )7M* &l3K* 4	(Bu-E.F/G'# #1t 1 1&GC G G$ Gr   r   N)typingr   r   r   r   r,   r
   r   r"   r/   r.   r   r1   rQ   r[   rg   rr   r~   r   r   r   r   r   r   <module>r      s   & +)12Kiu IU Ye  K+/S>9K9)j/ /3 3*. . . .". . %1 %%2 %%1 %]G ]Gr   