from server import db from database.models import User, Calendar from backend import caltojson import os import google.oauth2.credentials import json class Routine: def start(self, time=10): self.updateCalendars() def updateCalendar(self, user): # check google: credentials = user.google_token if credentials is None: return visualCals = [] calendars = db.session.query(Calendar).filter(Calendar.usr_id==user.id).all() for calendar in calendars: if calendar.toggle == 'True': visualCals.append(calendar.calendar_id) client_token = GC.build_credentials(user.google_token.token, user.google_token.refresh_token) googleCreds = google.oauth2.credentials.Credentials(**credentials) calendarjson = caltojson.generateJsonFromCalendarEntries(visualCals, googleCreds) user.setJson(calendarjson) ''' directory = 'userinfo/' + user.id + '/' if not os.path.exists(directory): os.makedirs(directory) with open(directory + 'calendarevents.json', 'w', encoding='utf-8') as f: json.dump(calendarjson, f, ensure_ascii=False, indent=4) ''' def updateCalendars(self): users = User.query.all() for user in users: self.updateCalendar(user) def credentials_to_dict(credentials): return{'token': credentials.token, 'refresh_token': credentials.refresh_token, 'token_uri': credentials.token_uri, 'client_id': credentials.client_id, 'client_secret': credentials.client_secret, 'scopes': credentials.scopes} if __name__ == "__main__": routine = Routine() routine.start()