
    ,h                     @    d dl Z d dlmc mZ ddlmZ  G d de      Zy)    N   )
BaseParserc                   (    e Zd ZdZd Zd Zd Zd Zy)Parserz+Extract text from open document files.
    c                     t        |d      5 }t        j                  |      }t        j                  |j                  d            | _        d d d        | j                         S # 1 sw Y   | j                         S xY w)Nrbzcontent.xml)openzipfileZipFileET
fromstringreadcontent	to_string)selffilenamekwargsstream
zip_streams        ]/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/textract/parsers/odt_parser.pyextractzParser.extract   sh     (D! 	IV 0J==)GHDL	I ~~	I ~~s   ?A$$A<c                     d}| j                   j                         D ]H  }|j                  | j                  d      | j                  d      fv s2|| j	                  |      dz   z  }J |r|dd }|S )z$ Converts the document to a string.  ztext:pztext:h
N)r   itertagqntext_to_string)r   buffchilds      r   r   zParser.to_string   su    \\&&( 	:EyyTWWX.0ABB++E2T99	: 9D    c           
      P   d}|j                   ||j                   z  }|D ]  }|j                  | j                  d      k(  r"|dz  }|j                  3||j                  z  }C|j                  | j                  d      k(  rt|dz  }|j	                  | j                  d            2|dt        |j	                  | j                  d                  dz
  z  z  }|j                  ||j                  z  }|| j                  |      z  } |j                  ||j                  z  }|S )Nr   ztext:tab	ztext:s ztext:cr   )textr   r   tailgetintr   )r   elementr    r!   s       r   r   zParser.text_to_string   s   <<#GLL D 	3EyyDGGJ//::)EJJ&Ddggh//99TWWX./;DC		$''(2C(D$E$IJJD::)EJJ&D++E22	3 <<#GLL Dr"   c                 b    ddi}|j                  d      }dj                  ||d      |d         S )z&Connect tag prefix to longer namespacer&   z.urn:oasis:names:tc:opendocument:xmlns:text:1.0:z{{{}}}{}r   r   )splitformat)r   	namespacensmapspls       r   r   z	Parser.qn3   s@     D
 ooc"  s1vA77r"   N)__name__
__module____qualname____doc__r   r   r   r    r"   r   r   r      s     	*8r"   r   )r
   xml.etree.ElementTreeetreeElementTreer   utilsr   r   r6   r"   r   <module>r;      s     " " 28Z 28r"   