o
    Hh                     @   sx   d dl mZ d dlmZmZmZmZmZ d dlm	Z	 d dl
m
Z
mZ d dlZd dlZd dlZdd Zdd	 Zd
d ZdS )    )Config)get_cda_client_entryget_cma_entry update_entry_using_json_responsepublish_entryget_cma_published_entry)get_all_dataset_ids)datetime	timedeltaNc              
   C   s  zkt jdkrt jdkrtt j}tt j}d|d v r|d d d }|d urt|d}|t  	 dkrd|d v rFg |d d d< d |d d d< d|d v r\g |d d d< d|d v rjd |d d d< |d |d	 d
}t
dt j|}tt j|d d  d|d v rt|d d d}t|d d d}|| 	 dkr|d |d	 d
}	t
dt j|	 td | d u rW d S t| }
tt j }t| |
|}|rt| }
t|
d d}t|
d }z|d }W n ty   d}Y nw t|d }t }|| t|dk r|dkr|du r|W S t|
d dks(|du r?t|
d dkr:|
d  |
d< nt |
d< |
d }tdt|d }|||
d< |d|
d< ||
d< | t jt |
d W d S  ty } zt!d| W Y d }~d S d }~ww ) NdevelopmentFALSEdateToClearFeaturedDatasetsfieldszen-USz%Y-%m-%dr   featuredDatasetsmetadata)r   r   homepagesysversionpublishedAt	updatedAtz%Y-%m-%dT%H:%M:%S.%fZz/Setting featured dataset id selector state infolast_used_time%Y-%m-%d %H:%M:%S.%ffeatured_dataset_id
time_delta      )daysFavailable_dataset_idsTlimited_available_ids   z)Error while setting featured dataset id: )"r   
DEPLOY_ENVSPARC_API_DEBUGGINGr   CTF_HOMEPAGE_IDr   r	   strptimenowtotal_secondsr   r   logginginfo#get_featured_dataset_id_table_stater   r   set_limited_dataset_idsint	Exceptionfloatr
   lencopyr   randomrandintpopstrftimeupdateState&FEATURED_DATASET_ID_SELECTOR_TABLENAMEjsondumpsprint)featuredDatasetIdSelectorTableZhomepage_cma_staging_entryZhomepage_cma_published_entryZdate_to_clear_datasetsZdatetime_date_to_clear_datasetsZupdated_published_stateupdated_entryZhomepage_staging_updated_atZhomepage_staging_published_atoriginal_statetable_stateZcf_homepage_responseZlimited_ids_were_setr   r   Ztime_delta_in_hoursZtime_delta_in_daysr%   Zavailable_dataset_ids_arrayZrandom_indexe r>   Q/home/cmiss/Jenkins/workspace/SPARC-API-DEV/scripts/update_featured_dataset_id.pyset_featured_dataset_id
   s|   


(
r@   c                 C   sb   |d }z|d }W n t y   g }Y nw t|t|kr dS ||d< | tjt|d dS )Nr   featured_datasetsFT)r,   setr4   r   r5   r6   r7   )tabler<   Zcontentful_stateZpersisted_limited_available_idsZupdated_limited_available_idsr>   r>   r?   r*   T   s   r*   c                 C   sj   t  dg g dd}| d u r|S z| tj}|d u r(| tjt|d}t	|W S    | Y S )Nr   r   )r   r   r   r   T)
r	   r%   r3   	pullStater   r5   r4   r6   r7   loads)rC   Zdefault_dataZcurrent_stater>   r>   r?   r)   c   s   r)   )
app.configr   app.metrics.contentfulr   r   r   r   r   app.metrics.algoliar   r	   r
   r6   r'   r0   r@   r*   r)   r>   r>   r>   r?   <module>   s    J