
    +g(                        S SK Jr  S SK Jr  S SK Jr  S SK Jr  \(       a0  S SK Jr  S SK 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  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)List)Optional)Type)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       t/Users/Alptekin/Desktop/izin_takip/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   r   strr   r   r   r   r$   r$   (   s.      Ir   r$   )Any)Dictc                   <    \ rS rSrSrS rS\\   4S jrS	S jr	Sr
g)
_PageSettingsDescriptor9   z8Descriptor which validates `height` and 'width' of page.c                     Xl         g Nnameselfr8   s     r   __init__ _PageSettingsDescriptor.__init__<       	r   returnc                 N    UR                   R                  U R                  S 5      $ r6   )_pagegetr8   r:   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'   )getattrr8   r@   _print_optionsr:   rC   values      r   __set___PageSettingsDescriptor.__set__B   s<    -.tyy%@$		$))%(YY6"r   r7   r>   Nr   r   r   r   __doc__r;   r   r   rE   rM   r   r   r   r   r3   r3   9   s    B.8E? ./r   r3   c                   <    \ rS rSrSrS rS\\   4S jrS	S jr	Sr
g)
_MarginSettingsDescriptorH   zLDescriptor which validates below attributes.

- top
- bottom
- left
- right
c                     Xl         g r6   r7   r9   s     r   r;   "_MarginSettingsDescriptor.__init__Q   r=   r   r>   c                 N    UR                   R                  U R                  S 5      $ r6   )_marginrA   r8   rB   s      r   rE   !_MarginSettingsDescriptor.__get__T   s    {{tyy$//r   Nc                     [        US5      " SU R                   3U5        X!R                  U R                  '   UR                  UR                  S'   g )NrH   zMargin r&   )rI   r8   rX   rJ   rK   s      r   rM   !_MarginSettingsDescriptor.__set__W   sC    -./DeL!&DII'*{{8$r   r7   rO   rP   r   r   r   rS   rS   H   s!    08E? 03r   rS   c                   <    \ rS rSrSrS rS\\   4S jrS	S jr	Sr
g)
_ScaleDescriptor]   z'Scale descriptor which validates scale.c                     Xl         g r6   r7   r9   s     r   r;   _ScaleDescriptor.__init__`   r=   r   r>   c                 L    UR                   R                  U R                  5      $ r6   rJ   rA   r8   rB   s      r   rE   _ScaleDescriptor.__get__c   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 )NrH   g?   z*Value of scale should be between 0.1 and 2)rI   r8   
ValueErrorrJ   rK   s      r   rM   _ScaleDescriptor.__set__f   sC    -.tyy%@3;%!)IJJ(-499%r   r7   rO   rP   r   r   r   r]   r]   ]   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)_PageOrientationDescriptorm   z?PageOrientation descriptor which validates orientation of page.r	   r
   c                     Xl         g r6   r7   r9   s     r   r;   #_PageOrientationDescriptor.__init__r   r=   r   r>   c                 N    UR                   R                  U R                  S 5      $ r6   rb   rB   s      r   rE   "_PageOrientationDescriptor.__get__u       !!%%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_VALUESrf   rJ   r8   rK   s      r   rM   "_PageOrientationDescriptor.__set__x   s:    ///@AXAX@YZ[[(-499%r   r7   rO   )r   r   r   r   rQ   rq   r;   r   r.   rE   rM   r   r   r   r   ri   ri   m   s+    I$k278K#8 7.r   ri   c                   6    \ rS rSrSrS\4S jrS rS	S jrSr	g)
_ValidateTypeDescriptor~   zEBase Class Descriptor which validates type of any subclass attribute.expected_typec                     Xl         X l        g r6   )r8   rv   )r:   r8   rv   s      r   r;    _ValidateTypeDescriptor.__init__   s    	*r   c                 N    UR                   R                  U R                  S 5      $ r6   rb   rB   s      r   rE   _ValidateTypeDescriptor.__get__   ro   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 )
isinstancerv   rf   r8   r   rJ   rK   s      r   rM   _ValidateTypeDescriptor.__set__   sM    %!3!344		{*=d>P>P>Y>Y=Z[\\(-499%r   )rv   r8   rO   )
r   r   r   r   rQ   r   r;   rE   rM   r   r   r   r   rt   rt   ~   s    O+D +7.r   rt   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 r6   superr;   r-   r:   r8   	__class__s     r   r;   _ValidateBackGround.__init__       t$r   r   r   r   r   r   rQ   r;   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 r6   r   r   s     r   r;   _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 r6   )r   r;   listr   s     r   r;   _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   )rJ   r   A4r@   rX   r:   s    r   r;   PrintOptions.__init__  s4    *,"ooh/!__W-!

 %'r   c                     U R                   $ )z-:Returns: A hash of print options configured.)rJ   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)rH   r@   rJ   )r:   r   s     r   set_page_sizePrintOptions.set_page_size  sh     	##Hi.AB##GYw-?@(2

8'0

7&*jjF#r   property_namerL   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)r|   intr   rf   )r:   r   rL   s      r   rH   #PrintOptions._validate_num_property  sE    %#u...NOPP19.DEFF r   )rX   r@   rJ   rO   )#r   r   r   r   r3   page_height
page_widthrS   
margin_topmargin_bottommargin_leftmargin_rightr]   r*   ri   r)   r   r(   r   shrink_to_fitr   page_rangesr   LEGALLETTERTABLOIDr;   r$   r   dictr   r/   r   rH   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   r1   r/   r3   rS   r]   ri   rt   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   