o
    |g	                  	   @   s   d dl Z d dlZ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 e Zed ejded	ed
edefddZejdedededefddZejdedefddZdS )    N)ProjectSlide)PPTStructure)celery)ClientConfig)DocUploaderz(Presentation tasks started successfully.
project_idsection_numberslide_numberclientc           	   
   C   s|   zt | }tj| d}t||d}|j||d}| W S  ty= } ztj	|dd dt
|iW  Y d}~S d}~ww )zResearch the slide.r   )projectr   )r	   r
   Texc_infoerrorN)r   get_client_configr   check_project_in_dbr   research_slidejson	Exception
XCM_loggerr   str)	r   r	   r
   r   client_configr   ppt_structureslidee r   4/var/www/html/XCapMarket/tasks/presentation_tasks.pyr      s   
r   doc_pathbucket_name	client_idc                 C   s   d}| |s	dS zHtj| d}t| }td| d d| d| }t|||}t|j | |_	|
  t||j	 |  td| d	 W dS  tyc   tjd
|dd Y dS w )zProcess the uploaded document.)z.pdfz.docxz.pptxFr   z
Uploading z to ChromaDBzs3:///z	Uploaded z to DynamoDBzError processing document: %sTr   N)endswithr   r   r   r   printr   doc_classificationupload_to_chromadbchunksfollow_up_questionsasynciorunsummarize_chunksupload_to_dynamodbr   r   r   )r   r   r   r    valid_extensionsr   r   doc_uploaderr   r   r   process_uploaded_doc    s$   


r.   c                 C   s.   t | }tj| d}t||}|  dS )zVectorize the website.r   N)r   r   r   r   r   vectorize_website)r   r   r   r   doc_uploader_instancer   r   r   r/   ?   s   
r/   )r(   logging+services.ppt_generator.data_classes.projectr   r    services.ppt_generator.structurer   tasks.celery_workerr   utils.client_checkr   !utils.document_loader.DocUploaderr   	getLoggerr   infotaskr   intr   r.   r/   r   r   r   r   <module>   s>    
