o
    "i                     @  sf   d dl mZ d dlZd dlmZmZmZ d dlmZ e	e
ZdZdZdd	d
ZdeefdddZdS )    )annotationsN)AnyDictList)get_connectionrecording_urlidreturn	List[str]c               	   C  sp   t  &} |  }|dd | }W d    n1 sw   Y  W d    n1 s,w   Y  dd |D S )NzgSELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME LIKE %s)z%_raw_callsc                 S  s   g | ]
}|d   ddqS )
TABLE_NAME
_raw_calls )replace).0row r   C/home/aiteam/pcaa-dev/call-proccessing/stt_pipeline/db/raw_calls.py
<listcomp>   s    z get_all_bids.<locals>.<listcomp>)r   cursorexecutefetchall)conncurrowsr   r   r   get_all_bids   s   

r   d   bidstralready_seen_idslimitintid_colurl_colList[Dict[str, Any]]c                 C  s"  |  d}t  _}| K}|r9ddgt| }|d| d| d| d| d| d	| d
g ||R  n|d| d| d| d	| d
	|f | }	W d    n1 s[w   Y  W d    n1 sjw   Y  g }
|	D ]}t|}t|| |d< ||d|d< |
	| qs|
S )Nr   z, z%szSELECT * FROM `z	` WHERE `z
` NOT IN (z) AND `z` IS NOT NULL AND `z` != '' ORDER BY `z` DESC LIMIT %scall_idr   r   )
r   r   joinlenr   r   dictr   getappend)r   r   r   r!   r"   tabler   r   placeholdersr   resultr   
normalisedr   r   r   get_new_calls   sP   

	
r.   )r	   r
   )r   r   r   r
   r   r    r!   r   r"   r   r	   r#   )
__future__r   loggingtypingr   r   r   db.connectionr   	getLogger__name__loggerDEFAULT_RECORDING_URL_COLUMNDEFAULT_CALL_ID_COLUMNr   r.   r   r   r   r   <module>   s    

