
    !+i=	                         d dl mZmZ d dlmZ d dlmZ d dlmZ  ej                  ddg      d        Z
 ej                  dd	g      d
        Z ej                  dd	g      d        Zy)    )jsonifyrequest)api_bp)SessionLocal)CompetitionEnginez/ads/<ad_id>/competitorsGET)methodsc                 J   t               }	 t        |      }|j                  |       }g }|D ]  }|j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  r|j                  j                         nd d        t        |      |j                          S # t        $ r2}t        dt!        |      i      dfcY d }~|j                          S d }~ww xY w# |j                          w xY w)N)idinternal_idtitlepriceoriginal_price	permalinkstatuslast_updatederror  )r   r   get_competitorsappendcompetitor_idr   r   r   r   r   r   r   	isoformatr   close	Exceptionstr)ad_iddbenginecompetitorsdataces          K/var/www/hypershopcomercio.com.br/hyper-ai/app/api/endpoints/competitors.pylist_competitorsr$      s    	B"2&,,U3 
	AKKoo tt"#"2"2[[((>?nn 8 8 :RV	 	
	 t} 	
  /Q()3..

/ 	
s0   B5C 	DD2D3D DD D"POSTc           	         t               }	 t        j                         }|j                  d      }|st	        ddi      df|j                          S t        |      }|j                  | |      }t	        |j                  |j                  |j                  |j                  |j                  |j                  d      df|j                          S # t        $ r2}t	        dt        |      i      dfcY d }~|j                          S d }~wt         $ r7}t#        d|        t	        ddi      d	fcY d }~|j                          S d }~ww xY w# |j                          w xY w)
Nurlr   zURL is requiredi  )r   r   r   r   r   r      zError adding competitor: zFailed to add competitorr   )r   r   get_jsongetr   r   r   add_competitorr   r   r   r   r   r   
ValueErrorr   r   print)r   r   r    r'   r   compver"   s           r#   r+   r+       s6   	B!hhuoG%678#=* 	
' #2&$$UC0$$77ZZZZ"11kk
    	
  0R)*C// 	
  C)!-.!;<=sBB

C
 	
sN   5C A,C 	ED/E0E EE-E.E EE Ez/ads/<ad_id>/competitors/syncc                 2   t               }	 t        |      }|j                  |       }t        d|d      |j	                          S # t
        $ r2}t        dt        |      i      dfcY d }~|j	                          S d }~ww xY w# |j	                          w xY w)NzUpdate completed)messageupdated_countr   r   )r   r   update_competitor_pricesr   r   r   r   )r   r   r   r2   r"   s        r#   sync_competitorsr4   >   s    	B"2&77>)*
  	
  0#a&)*C/	/

0 	
s/   )A 	BA<&B'B <BB BN)flaskr   r   app.apir   app.core.databaser   app.services.competition_enginer   router$   r+   r4        r#   <module>r<      s|    "  * =(5': ;0 (6(; <: -x@ Ar;   