
    g              
          d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dl mZmZmZ d d	lmZ d d
lZd d
lZd d
lZ eddg      Zej-                  d       ee      fdedefd       Zej-                  d       eej0                         ed
       ee      fdededefd       Zej5                  d       ee      fdedefd       Zej9                  d       ee      fdedefd       Zej9                  d       ee      fdedefd       Zej?                  d       eej0                         ed
       ee      fdedededefd       Z y
)    )	APIRouterDepends)get_db)Session)	FileClass)PatentClass)Patent)
PatentList)
UploadFileFileHTTPException)datetimeNz/patents
Patentents)prefixtags/patentdbc                     t        |      j                  | j                  | j                  | j                  | j
                        }d|iS )Nmessage)r   get_allbranch_office_idsemesteryearpage)r   r   datas      PC:\Users\jesus\OneDrive\Desktop\escritorio\newerp\app\backend\routers\patents.pyindexr      s<    r?""6#:#:FOOV[[Z`ZeZefDt    z/store	form_datasupportc                    	 t        j                         j                  d      }t        j                         j
                  d d }d|j                  v r|j                  j                  d      d   nd}d}|r
| d| d| n| d| }| d| }t        |      j                  ||      }	t        |      j                  | |       d|	iS # t        $ r}
t        d	d
t        |
             d }
~
ww xY w)N%Y_%m_%d_%H_%M_%S   . r   _r     zError al procesar: status_codedetail)r   nowstrftimeuuiduuid4hexfilenamesplitr   uploadr   store	Exceptionr   str)r    r!   r   	timestamp	unique_idfile_extensionfile_category_nameunique_filenameremote_pathr   es              r   r5   r5      s   TLLN++,?@	JJL$$Ra(	<?7CSCS<S))//4R8Y[%IWYKq1^4DE`i_jjklukv]w ,,Ao->? B-&&w< 	Bi57## T6I#a&4RSSTs   CC
 
	C1C,,C1z/delete/{id}idc                     t        |      j                  |       }t        j                  |      }|d   d   }| }t	        |      j                  |      }|dk(  rt        |      j                  |        d|iS )Npatent_datar!   successr   )r   getjsonloadsr   delete)r?   r   rA   	file_namer=   r   s         r   rF   rF   5   sw    b/%%b)K**[)KM*95I KK m"";/G)Br"wr   z/download/{id}c                     t        |      j                  |       }t        j                  |      }|d   d   }| }t	        |      j                  |      }t        j                  |      j                  d      }||dS )NrA   r!   zutf-8)rG   	file_data)	r   rC   rD   rE   r   downloadbase64	b64encodedecode)r?   r   rA   rG   r=   file_contentsencoded_files          r   rJ   rJ   I   s     b/%%b)K**[)KM*95I KK bM**;7M ##M299'BL ! r   z
/edit/{id}c                     	 t        |      j                  |       }|st        dd      d|iS # t        $ r}t        ddt	        |             d }~ww xY w)N  zPatente no encontradar*   r   r)   zError al obtener el iva: )r   rC   r   r6   r7   )r?   r   rA   r>   s       r   editrR   a   sj    Z!"o))"- C8OPP ;'' Z6OPSTUPVx4XYYZs   ,/ 	AAAz/update/{id}c                    	 t        |      j                  |       }|st        dd      t        j                  |      }|d   d   }|r| nd }|}|rt        j                         j                  d      }t        j                         j                  d d }	d|j                  v r|j                  j                  d      d	   nd
}
|
r
| d|	 d|
 n| d|	 }| }t        |      j                  ||       |rt        |      j                  |       t        |      j!                  | ||       ddiS # t"        $ r}t        ddt%        |             d }~ww xY w)NrQ   zIva no encontrador*   rA   r!   r#   r$   r%   r&   r'   r(   r   z Patente actualizada exitosamenter)   zError al actualizar el iva: )r   rC   r   rD   rE   r   r-   r.   r/   r0   r1   r2   r3   r   r4   rF   updater6   r7   )r?   r    r!   r   rA   previous_file_nameremote_path_previousnew_file_namer8   r9   r:   remote_path_newr>   s                r   rT   rT   q   sq   "]!"o))"-C8KLLjj- )7	B:L"4!5RV* //0CDI

((!,I@CwGWGW@WW--33C8<]_NKYyk9+Q~6FGbkallmnwmx_yM!.O bM  /: $"$$%9: 	Br9m<=>> ]6RSVWXSYRZ4[\\]s   D/D2 2	E;EE)!fastapir   r   app.backend.db.databaser   sqlalchemy.ormr   app.backend.classes.file_classr    app.backend.classes.patent_classr   app.backend.schemasr	   r
   r   r   r   r   r/   rD   rK   patentspostr   as_formr5   rF   intrC   rJ   rR   putrT    r   r   <module>re      s   & * " 4 8 & * 3 3    


 	c,3FO * '  
 	h/t*&/TTT 	T T6 	!(  c  w     & 	$+FO  '  . 	\ ' ZS Zg Z Z 	^  /t*&/	(](](] (] 		(] (]r   