o
    ý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   >/home/cmiss/Jenkins/workspace/SPARC-API/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    			