
    Ui                     b    d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 dgZd Zd	dZdS )
    N)Request)Credentials)InstalledAppFlow)buildz(https://www.googleapis.com/auth/calendarc            	         d } t           j                            t           j                            t           j                            t           j                            t                                                  }t           j                            |d          }t           j                            |d          }t           j                            |          r<t          |d          5 }t          j	        |          } d d d            n# 1 swxY w Y   | r| j
        s| r0| j        r)| j        r"|                     t                                 nct           j                            |          st          d|            d S t!          j        |t$                    }|                    d          } t          |d          5 }t          j        | |           d d d            n# 1 swxY w Y   t+          dd	| 
          }|S )Nztoken.picklezcredentials.jsonrbz&[ERROR] credentials.json not found at r   )portwbcalendarv3)credentials)ospathdirnameabspath__file__joinexistsopenpickleloadvalidexpiredrefresh_tokenrefreshr   printr   from_client_secrets_fileSCOPESrun_local_serverdumpr   )credsbase_dir
token_pathcredentials_pathtokenflowservices          !/app/app/utils/google_calendar.pyget_calendar_servicer)      s2   E wrwrwrwx?X?X/Y/YZZ[[Hh77Jw||H.@AA	w~~j!! '*d## 	'uK&&E	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'  & & 		2U] 		2u': 		2MM'))$$$$7>>"233 Q?OQQRRRt#< &* *D))q)11E *d## 	&uKu%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& J%888GNs$   -DDDG))G-0G-c           
      P   	 t                      }|sdS t          j                            |          }|t          j        d          z   }| |||                                dd|                                dddddd	d
dd	gdd}|                                                    d|                                          }t          d|	                    d                      |	                    d          S # t          $ r}t          d|            Y d}~dS d}~ww xY w)zk
    Creates a Google Calendar event.
    start_time_str: "YYYY-MM-DDTHH:MM:SS" (frontend send format)
    N   )hoursz
Asia/Tokyo)dateTimetimeZoneFemaili  )methodminutespopup
   )
useDefault	overrides)summarylocationdescriptionstartend	remindersprimary)
calendarIdbodyzEvent created: htmlLinkzAn error occurred: )r)   datetimefromisoformat	timedelta	isoformateventsinsertexecuter   get	Exception)	r6   r8   start_time_strr7   r'   start_dtend_dteventes	            r(   create_eventrN   -   sr   
%&(( 	4 $22>BBH.Q7777  &$..00( 
 #,,..( 
 $&7;;&266 
 
*   ''95'IIQQSS7		* 5 577888yy$$$   'A''(((ttttts   C> C)C> >
D%D  D%)N)r   r@   r   google.auth.transport.requestsr   google.oauth2.credentialsr   google_auth_oauthlib.flowr   googleapiclient.discoveryr   r   r)   rN        r(   <module>rU      s    				   2 2 2 2 2 2 1 1 1 1 1 1 6 6 6 6 6 6 + + + + + + 5	5  B* * * * * *rT   