o Xh@sxddlmZddlmZmZmZmZmZddlm Z ddl m Z m Z ddl Z ddl Z ddlZddZdd Zd d ZdS) )Config)get_cda_client_entry get_cma_entry update_entry_using_json_response publish_entryget_cma_published_entry)get_all_dataset_ids)datetime timedeltaNc Cs zktjdkrtjdkrttj}ttj}d|dvr|ddd}|durt|d}|t dkrd|dvrFg|ddd<d|ddd<d|dvr\g|ddd<d|dvrjd|ddd<|d|d d }t d tj|}t tj|d d d|d vrt|d dd}t|d dd}|| dkr|d|d d } t d tj| t d|durWdSt|} ttj} t|| | } | rt|} t| dd} t| d}z| d}Wn tyd}Ynwt|d}t}|| t|dkr|dkr| dur|WSt| ddks(| dur?t| ddkr:| d| d<nt| d<| d}tdt|d}||| d<|d| d<|| d<|tjt | dWdSty}z t!d|WYd}~dSd}~ww) N developmentFALSEdateToClearFeaturedDatasetsfieldszen-USz%Y-%m-%drfeaturedDatasetsmetadata)rrhomepagesysversion publishedAt updatedAtz%Y-%m-%dT%H:%M:%S.%fZz/Setting featured dataset id selector state infolast_used_time%Y-%m-%d %H:%M:%S.%ffeatured_dataset_id time_delta)daysFavailable_dataset_idsTlimited_available_idsz)Error while setting featured dataset id: )"r DEPLOY_ENVSPARC_API_DEBUGGINGrCTF_HOMEPAGE_IDrr strptimenow total_secondsrrlogginginfo#get_featured_dataset_id_table_staterrset_limited_dataset_idsint Exceptionfloatr lencopyrrandomrandintpopstrftime updateState&FEATURED_DATASET_ID_SELECTOR_TABLENAMEjsondumpsprint)featuredDatasetIdSelectorTableZhomepage_cma_staging_entryZhomepage_cma_published_entryZdate_to_clear_datasetsZdatetime_date_to_clear_datasetsZupdated_published_state updated_entryZhomepage_staging_updated_atZhomepage_staging_published_atoriginal_state table_stateZcf_homepage_responseZlimited_ids_were_setrrZtime_delta_in_hoursZtime_delta_in_daysr%Zavailable_dataset_ids_arrayZ random_indexer>Q/home/cmiss/Jenkins/workspace/SPARC-API-DEV/scripts/update_featured_dataset_id.pyset_featured_dataset_id s|              ( r@cCsb|d}z|d}Wn tyg}Ynwt|t|kr dS||d<|tjt|ddS)Nrfeatured_datasetsFT)r,setr4rr5r6r7)tabler<Zcontentful_stateZpersisted_limited_available_idsZupdated_limited_available_idsr>r>r?r*Ts  r*cCsjtdggdd}|dur|Sz|tj}|dur(|tjt|d}t |WS|YS)Nrr)rrrrT) r r%r3 pullStaterr5r4r6r7loads)rCZ default_dataZ current_stater>r>r?r)cs   r)) app.configrapp.metrics.contentfulrrrrrapp.metrics.algoliarr r r6r'r0r@r*r)r>r>r>r?s  J