o
    Xƒ½h!  ã                   @   s^   d dl Z d dlmZ d dlmZ ejZejZej	Z
dd„ Zdd„ Zdd	„ Zd
d„ Zdd„ ZdS )é    N)ÚSearchClient)ÚConfigc               
   C   sB   zt  tt¡W S  ty  }  zt d| ¡ W Y d } ~ d S d } ~ ww )Nz?An error occured while instantiating the Algolia search client.)r   ÚcreateÚAPP_IDÚAPI_KEYÚ	ExceptionÚloggingÚerror)Úe© r   úB/home/cmiss/Jenkins/workspace/SPARC-API-DEV/app/metrics/algolia.pyÚinit_algolia_client
   s   €þr   c                 C   s   |   t¡}| d¡}|d S )NÚ ZnbHits)Ú
init_indexÚINDEXÚsearch)ÚclientÚindexÚresr   r   r   Úget_dataset_count   s   

r   c                  C   s@   t ƒ } |  t¡}g }| ¡ D ]}|d d ur| |d ¡ q|S )NZobjectID)r   r   r   Úbrowse_objectsÚappend)r   r   Z
object_idsÚrecordr   r   r   Úget_all_dataset_ids   s   
€r   c                  C   sP   t ƒ } |  t¡}g }| ¡ D ]}| d¡r%|d  d¡r%| |d d ¡ q|S )NÚitemÚ
identifier)r   r   r   r   Úgetr   )r   r   Zuuidsr   r   r   r   Úget_all_dataset_uuids!   s   
€r   c                 C   s(   t ƒ }| t¡}| dd | ¡ddœ¡S )Nr   z!supportingAwards.identifier:'{0}'iç  )ÚfiltersZhitsPerPage)r   r   r   r   Úformat)Z	projectIdr   r   r   r   r   Úget_associated_datasets*   s   
r    )r   Zalgoliasearch.search_clientr   Ú
app.configr   ÚALGOLIA_APP_IDr   ÚALGOLIA_API_KEYr   ÚALGOLIA_INDEXr   r   r   r   r   r    r   r   r   r   Ú<module>   s    			