o
    n ji	                     @   s   d dl Z d dlmZ dedefddZdedefddZdedefd	d
ZdedefddZdedefddZdedefddZ	dS )    N)Path	file_pathreturnc                 C   sR   | j  }|dkrt| S |dv rt| S |dkrt| S |dkr%t| S t| S )Nz.pdf)z.xlsxz.xlsz.csvz.json)suffixlower	_read_pdf_read_excel	_read_csv
_read_json
_read_text)r   ext r   //var/www/html/fyndo/pharma/fyndo/file_reader.pyread_file_content   s   
r   c              
   C   s   z!dd l }|t| }d}|D ]}|| 7 }q|  | W S  ty1   d| j d Y S  tyJ } zdt| dW  Y d }~S d }~ww )Nr    z[PDF file: u*    — install PyMuPDF: pip install pymupdf]z[PDF read error: ])	fitzopenstrget_textclosestripImportErrorname	Exception)r   r   doctextpageer   r   r   r      s   
r   c           	   
   C   s   zHdd l }|jt| ddd}g }|jD ]*}|| }|d|  |jddD ]}dd |D }t|r=|d| q(q|  d	|W S  t	yX   d
| j
 d Y S  tyq } zdt| dW  Y d }~S d }~ww )Nr   T)	read_only	data_onlyzSheet: )values_onlyc                 S   s    g | ]}|d urt |ndqS )Nr   )r   ).0cellr   r   r   
<listcomp>,   s     z_read_excel.<locals>.<listcomp>	
z[XLSX file: u,    — install openpyxl: pip install openpyxl]z[XLSX read error: r   )openpyxlload_workbookr   
sheetnamesappend	iter_rowsanyjoinr   r   r   r   )	r   r'   wboutput
sheet_namewsrowrow_datar   r   r   r   r   #   s*   
r   c              
   C   v   z t | dddd}| W  d    W S 1 sw   Y  W d S  ty: } zdt| dW  Y d }~S d }~ww )Nrutf-8replaceencodingerrorsz[CSV read error: r   r   readr   r   r   fr   r   r   r   r	   7      (r	   c              
   C   s~   z$t | ddd}t|}W d    n1 sw   Y  tj|ddW S  ty> } zdt| dW  Y d }~S d }~ww )Nr5   r6   )r9      )indentz[JSON read error: r   )r   jsonloaddumpsr   r   )r   r>   datar   r   r   r   r
   ?   s   r
   c              
   C   r4   )Nr5   r6   r7   r8   z[File read error: r   r;   r=   r   r   r   r   H   r?   r   )
rB   pathlibr   r   r   r   r   r	   r
   r   r   r   r   r   <module>   s    	