o
    Xàºh"  ã                   @   sF   d dl mZmZmZmZ d dlmZmZ dd„ Zdd„ Zd
dd	„Z	dS )é    )Úget_all_entriesÚget_all_published_entriesÚ update_entry_using_json_responseÚpublish_entry)ÚdatetimeÚtimezonec                 C   s€   | d d }| d }| d }d|v r>d|v r>|d d }d }d|v r(|d d }t ||ƒ}||d d< ||d	œ}td
||ƒS | S )NÚsysÚidÚfieldsÚmetadataÚ	startDateÚupcomingSortOrderúen-USÚendDate©r
   r   Úevent)Úcalculate_sort_orderr   )r   Zevent_entry_idZevent_entry_fieldsZevent_entry_metadataÚ
start_dateÚend_dateÚupcoming_sort_orderZevent_state© r   úP/home/cmiss/Jenkins/workspace/SPARC-API-DEV/scripts/update_contentful_entries.pyÚupdate_event_sort_order   s   
þr   c                  C   sp  t dƒ} tdƒ}i }|D ]}|d d }|||< q| D ]š}|d }|d }d|v rµd|v rµ|d d rµ|d d }d}	d}
d	|d v rcd
}
t |d d d¡}t |d d	 d¡}||  ¡ dkrcd
}	|d d }d }d|v ru|d d }t||ƒ}||d d< |
r¦|| d }||d d< ||| d dœ}td||ƒ}t||d d ƒ |	sª|
sµ||dœ}td||ƒ qd S )Nr   r   r	   r
   r   r   r   FÚpublishedAtTÚ	updatedAtz%Y-%m-%dT%H:%M:%S.%fZr   r   r   r   Úversion)r   r   r   ÚstrptimeÚtotal_secondsr   r   r   )Zall_event_entriesZall_published_event_entriesZ$published_event_id_to_fields_mappingZpublished_eventZpublished_event_idÚentryZoriginal_fields_dictZoriginal_metadata_dictÚentry_idZentry_had_existing_changesZentry_is_publishedZentry_updated_atZentry_published_atr   r   r   Zpublished_fields_stateZupdated_stateZupdated_entryZoriginal_stater   r   r   Úupdate_all_events_sort_order   sP   


þþ€Ûr    Nc                 C   s¬   t  | ¡ tj¡}t  ¡  tj¡}||  ¡ }t|d ƒ}d}|dkr'd| }|dk rT|d u r3|}|S t  |¡ tj¡}||  ¡ }t|d ƒ}	|	dk }
|
sRd}|S |}|S )Ni€Q gš™™™™™ñ?r   é   )r   ÚfromisoformatÚ
astimezoner   ÚutcÚnowr   Úint)r   r   Zstart_date_datetimer%   Ztime_from_event_in_secondsZtime_from_event_in_daysr   Zend_date_datetimeZend_time_from_now_in_secondsZend_time_from_now_in_daysZhas_event_endedr   r   r   r   F   s(   õþr   )N)
Úapp.metrics.contentfulr   r   r   r   r   r   r   r    r   r   r   r   r   Ú<module>   s
    /