
    lh                         d dl Z d dlmZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
  e j                  e      Z G d d      Zy)	    N)datetime)Optional)Session)	SeparatorStatus)
MatchedLogc                       e Zd ZdedededededefdZ	 	 	 	 	 	 	 dd	eded
edededede	e   de	e   de	e   de	e   de	e   de	e   fdZ
y)LogsServicecodeurlstatusattemptmessage	caused_byc                     	 t         j                  d| d| d|        y # t        $ r"}t         j                  d|        Y d }~y d }~ww xY w)NzSaving crawl log: z	, status=z
, attempt=zError saving log: )loggerinfo	Exceptionerror)selfr   r   r   r   r   r   es           ^/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/match/services/logs_service.py	save_logszLogsService.save_logs   sN    	3KK,TF)F8:gYWX 	3LL-aS122	3s   ! 	AAANdb
crawl_dateprocess_keyword
date_starttotal_recordshistory_matchedkeyword_matchedambiguous_matchedunknown_winesc                    	 t        |||xs d|	xs d|
xs d|xs d|xs d||||t        j                  k(  rt        j                         nd |      }|j                  |       |j                          t        j                  d| d| d       y # t        $ r"}t        j                  d|        Y d }~y d }~ww xY w)Nr   )r   r   r   r   r    r!   r"   r   r   r   date_endr   zSaving match log for z
 [keyword=]zError saving match log: )r   r   SUCCESSr   nowaddcommitr   r   r   r   )r   r   r   r   r   r   r   r   r   r   r    r!   r"   new_logr   s                  r   save_match_logzLogsService.save_match_log   s    	9  /+0q / 41 / 41"3"8q+0q%%+1V^^+CG FF7OIIKKK/vZ?PPQRS 	9LL3A3788	9s   BB 	B=B88B=) NNNNNN)__name__
__module____qualname__strintr   r   r   boolr   r+        r   r
   r
      s    3c 3 3S 33 3QT 3ad 3 )-'+)-)-+/'+#9#9 #9 	#9
 #9 #9 #9 X&#9  }#9 "##9 "##9 $C=#9  }#9r4   r
   )loggingr   typingr   sqlalchemy.ormr   src.apps.match.enumsr   r   &src.apps.wine.wine_log.models.wine_logr   	getLoggerr-   r   r
   r3   r4   r   <module>r;      s3       " 2 =			8	$+9 +9r4   