
    'i                     z    d dl Z d dl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 d	 Zd
 Zd Zy)    N)settings)Call)CRON_JOB_STATUS)get_speech_to_text)RecordingService)get_twilio_client)Companyc                     t         j                  j                  t        j                  d      } t        j
                         dz
  }t         j                  j                  |       rt        j                  |       D ]z  }t         j                  j                  | |      }t         j                  j                  |      sCt         j                  j                  |      |k  sft        j                  |       | y y )Ncall_recordingsi ' )ospathjoinr   
MEDIA_ROOTtimeexistslistdirisfilegetmtimeremove)foldercutofffilenamefilepaths       ?/var/www/html/dp2/backend_v2.1/server/apps/calls/crons/calls.pycleanup_old_recordingsr      s    WW\\(--/@AFYY[J'F	ww~~f

6*Hww||FH5Hww~~h'BGG,<,<X,F,O		(# +     c                     t        t        j                  j                  d      j                  d      j	                  dd            } | D ]>  }t
        j                  j                  |      }|D ]  }t        |j                          @ y )NT)bdc_number__isnull )bdc_number__exact
bdc_number)flat)	to_number)	listr	   objectsexcludevalues_listr   filterprocess_booking_intentid)bdc_numbersr!   callscalls       r   process_all_booking_intentsr.      st    48"5#Lt<K
 "
##j#9D"477+  "r   c                    | syt         j                  j                  |       }|sy|j                  }t	        d| d       |t	        d|j
                          y t        d   |_        |j                          t        t                     j                  |      }|-t	        d|        t        d   |_        |j                          y t        |      \  }}}|-t	        d	|        t        d   |_        |j                          y t	        d
| d       t	        d| d       t	        d| d       ||_        ||_        ||_        t        d   |_        |j                          |j!                          t	        d| d       y )Nr   )r*   z==-=-=-=-=-=-=-=Processing booking intent for Twilio call ID: z=-=-=-=-=-=-=-=zNo Twilio call ID for call 
PROCESSINGz%Could not get recording URL for call FAILEDz"Failed to get transcript for call z=-=-=-=-=-=-=-=Transcript: z=-=-=-=-=-=-=-=Booking intent: z!=-=-=-=-=-=-=-=Booking datetime: 	COMPLETEDzG=-=-=-=-=-=-=-=Completed processing booking intent for Twilio call ID: )r   r%   gettwilio_call_sidprintr*   r   booking_intent_statussaver   r   get_call_recording_public_urlr   twilio_recording_textbooking_intentbooking_datetimerefresh_from_db)callIdr-   twilio_call_idrecording_public_url
transcriptr:   r;   s          r   r)   r)   "   s   <<v&D))N	I.IYYh
ij+DGG956!0!>DIIK+,=,?@^^_mn#5n5EFG%4X%>"		3En3U0J 02>2BCD%4X%>"			'
|?
CD	+N+;?
KL	-.>-?
OP!+D(D,D "1!=DIIK	STbSccr
str   )r   r   django.confr   apps.calls.modelsr   apps.calls.crons.constantsr   apps.calls.services.assembly_air   %apps.calls.services.recording_servicer   apps.calls.services.twilior   apps.companies.modelsr	   r   r.   r)    r   r   <module>rI      s0    	    " 6 > B 8 )$	,+ur   