
    ,h                     X    d dl Z d dlmZ d dlmZmZ d Zd Zd Zd Z	d Z
d	 Zd
 Zd Zy)    N)Message)get_full_class_namehas_lenc                     | j                  |      | j                  |      sdnt        | j                  |            dkD  | j                  |      sddS d| j                  |      v dS )NFr   @)exists	not emptyzvalid email addresssExistslen_getStringStreaminstancestreams     X/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/extract_msg/validation.pyget_email_detailsr      sv    ""6*"*"2"26":UHD]D]^dDe@fij@j,4,<,<V,Du  KORZRkRklrRsJs     c                     | j                  |      | j                  |      sddS t        | j                  |            dkD  dS NFr   )r   r	   )Existsr   
_getStreamr   s     r   get_stream_detailsr      sJ    //&)"*//&"9U ?B8CVCVW]C^?_bc?c r   c                     | j                  |      | j                  |      sddS t        | j                  |            dkD  dS r   r
   r   s     r   get_string_detailsr      sN    ""6*"*"2"26":U @CHD]D]^dDe@fij@j r   c                     d}| j                   j                  d      r | j                   d   j                  dz  rdnd}|dk(  rdndt        fd| j	                         D              }|r|dz   dz   z  }|S )N001E340D0003i   001Fc              3   H   K   | ]  }|d    j                           yw)N)endswith).0xtempnots     r   	<genexpr>zstring_FE.<locals>.<genexpr>   s!     Oq1R5>>'22Os   "z, but z was detected.)mainPropertieshas_keyvaluealllistDir)r   tempconfirmationr$   s      @r   	string_FEr-      s    D&&z2!00<BBWLvRXfFGOH<L<L<NOOL7"%555Kr   c                 $   t        |       t        |       t        |       rt        |       nd ddt        j                  |       id}|d   d   r.ddi|d<   	 t        |       }d|d   d<   t        |      |d   d	<   |S |S # t        $ r Y |S  Y |S xY w)
N)classr   r   valid)inputolefiler2   initializesFmessageTmsg)r   r   r   r2   	isOleFiler   validate_msgNotImplementedError)r5   validation_dictmsg_instances      r   validater;   %   s     )-s|&s|3s8
 W&&s+
	O y!'*5&
	"		K"3<L 9=OI&}50<\0JOI&u-? # 	 	 s   A? ?	BBc                     t        | d      t        | d      t        | d      | j                  d}|d   dk(  rt        | j                        |d<   |S )Nz__substg1.0_3707z__substg1.0_3704z__substg1.0_3712)zlong filenamezshort filenamez
content idtyper=   r5   )r   r=   r7   data)r   r+   s     r   validate_attachmentr?   @   sV    +H6HI,X7IJ(3EF	D F|u"8==1UKr   c                 f   t        |       t        | d      t        | d      t        | d      t        | d      | j                  t	        | j
                        D ci c]  \  }}|t        |       c}}t	        | j                        D ci c]  \  }}|t        |       c}}dS c c}}w c c}}w )Nz__substg1.0_007Dz__substg1.0_1000z__substg1.0_10130102z__substg1.0_10090102)z	001F/001Eheaderbodyz	html bodyzrtf bodydateattachments
recipients)	r-   r   r   rC   	enumeraterD   r?   rE   validate_recipient)r   r#   ys      r   r7   r7   K   s    x($X/AB"8-?@'2HI&x1GH>GH\H\>]^da.q11^<EhFYFY<Z[DAqq,Q//[	 	 _[s   B'B-c                 J    | j                   t        | d      t        | d      dS )Nz__substg1.0_3003z__substg1.0_39FE)r=   zstream 3003zstream 39FE)r=   r   )r   s    r   rG   rG   W   s)    (3EF(3EF r   )r2   extract_msg.messager   extract_msg.utilsr   r   r   r   r   r-   r;   r?   r7   rG    r   r   <module>rM      s6     ' :6	
r   