
    Y jc&                     V   S SK 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)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       }/root/GenerationalWealth/GenerationalWealth/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\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selfr5   s     r   __init__ _PageSettingsDescriptor.__init__7       	r   returnNc                 N    UR                   R                  U R                  S 5      $ r3   )_pagegetr5   r7   objclss      r   __get___PageSettingsDescriptor.__get__:   s    yy}}TYY--r   c                     [        US5      " U R                  U5        X!R                  U R                  '   UR                  UR                  S'   g )N_validate_num_propertyr$   )getattrr5   r=   _print_optionsr7   r@   values      r   __set___PageSettingsDescriptor.__set__=   s<    -.tyy%@$		$))%(YY6"r   r4   r;   N
r   r   r   r   __doc__r8   r   rB   rJ   r   r   r   r   r0   r0   4   s    B.54< ./r   r0   c                   <    \ rS rSrSrS rS\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 r3   r4   r6   s     r   r8   "_MarginSettingsDescriptor.__init__L   r:   r   r;   Nc                 N    UR                   R                  U R                  S 5      $ r3   )_marginr>   r5   r?   s      r   rB   !_MarginSettingsDescriptor.__get__O   s    {{tyy$//r   c                     [        US5      " SU R                   3U5        X!R                  U R                  '   UR                  UR                  S'   g )NrE   zMargin r#   )rF   r5   rU   rG   rH   s      r   rJ   !_MarginSettingsDescriptor.__set__R   sC    -./DeL!&DII'*{{8$r   r4   rL   rM   r   r   r   rP   rP   C   s!    054< 03r   rP   c                   <    \ rS rSrSrS rS\S-  4S jrS	S jrSr	g)
_ScaleDescriptorX   z'Scale descriptor which validates scale.c                     Xl         g r3   r4   r6   s     r   r8   _ScaleDescriptor.__init__[   r:   r   r;   Nc                 L    UR                   R                  U R                  5      $ r3   rG   r>   r5   r?   s      r   rB   _ScaleDescriptor.__get__^   s    !!%%dii00r   c                     [        US5      " U R                  U5        US:  d  US:  a  [        S5      eX!R                  U R                  '   g )NrE   g?   z*Value of scale should be between 0.1 and 2)rF   r5   
ValueErrorrG   rH   s      r   rJ   _ScaleDescriptor.__set__a   sC    -.tyy%@3;%!)IJJ(-499%r   r4   rL   rM   r   r   r   rZ   rZ   X   s    1154< 1.r   rZ   c                   D    \ rS rSrSrSS/rS rS\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 r3   r4   r6   s     r   r8   #_PageOrientationDescriptor.__init__m   r:   r   r;   Nc                 N    UR                   R                  U R                  S 5      $ r3   r_   r?   s      r   rB   "_PageOrientationDescriptor.__get__p       !!%%dii66r   c                     X R                   ;  a  [        SU R                    35      eX!R                  U R                  '   g )Nz!Orientation value must be one of )ORIENTATION_VALUESrc   rG   r5   rH   s      r   rJ   "_PageOrientationDescriptor.__set__s   s:    ///@AXAX@YZ[[(-499%r   r4   rL   )r   r   r   r   rN   rn   r8   r+   rB   rJ   r   r   r   r   rf   rf   h   s+    I$k27;#5 7.r   rf   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 r3   )r5   rs   )r7   r5   rs   s      r   r8    _ValidateTypeDescriptor.__init__|   s    	*r   c                 N    UR                   R                  U R                  S 5      $ r3   r_   r?   s      r   rB   _ValidateTypeDescriptor.__get__   rl   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 )
isinstancers   rc   r5   r   rG   rH   s      r   rJ   _ValidateTypeDescriptor.__set__   sM    %!3!344		{*=d>P>P>Y>Y=Z[\\(-499%r   )rs   r5   rL   )
r   r   r   r   rN   typer8   rB   rJ   r   r   r   r   rq   rq   y   s    O+D +7.r   rq   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 r3   superr8   r*   r7   r5   	__class__s     r   r8   _ValidateBackGround.__init__       t$r   r   r   r   r   r   rN   r8   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 r3   r   r   s     r   r8   _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 r3   )r   r8   r,   r   s     r   r8   _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   )rG   r   A4r=   rU   r7   s    r   r8   PrintOptions.__init__I  s4    *,"ooh/!__W-!

 %'r   c                     U R                   $ )z+Returns a hash of print options configured.)rG   r   s    r   to_dictPrintOptions.to_dictQ  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)a0  Sets the page size to predefined or custom dimensions.

Args:
    page_size: A dictionary containing 'height' and 'width' keys with
        respective values in cm.

Example:
    self.set_page_size(PageSize.A4)  # A4 predefined size
    self.set_page_size({"height": 15.0, "width": 20.0})  # Custom size
r   r   r$   N)rE   r=   rG   )r7   r   s     r   set_page_sizePrintOptions.set_page_sizeU  sh     	##Hi.AB##GYw-?@(2

8'0

7&*jjF#r   property_namerI   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)ry   intr   rc   )r7   r   rI   s      r   rE   #PrintOptions._validate_num_propertyf  sE    %#u...NOPP19.DEFF r   )rU   r=   rG   rL   )#r   r   r   r   r0   page_height
page_widthrP   
margin_topmargin_bottommargin_leftmargin_rightrZ   r'   rf   r&   r}   r%   r   shrink_to_fitr   page_rangesr   LEGALLETTERTABLOIDr8   r!   r   dictr   r-   r   rE   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   r0   rP   rZ   rf   rq   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 %NG NGr   