From 183bf60fc089c76a9f1b9e9fde31d02b910d11a6 Mon Sep 17 00:00:00 2001 From: Raphael Maenle Date: Sat, 30 May 2020 23:32:37 +0200 Subject: [PATCH] fixes bug which would not pass along color Hex value --- __init__.py | 64 +++++++---------------------------------------------- 1 file changed, 8 insertions(+), 56 deletions(-) diff --git a/__init__.py b/__init__.py index 044cc51..c601100 100644 --- a/__init__.py +++ b/__init__.py @@ -8,6 +8,7 @@ from google_auth_oauthlib.flow import InstalledAppFlow from google.auth.transport.requests import Request from server import db +from database.models import Calendar as dbCalendar # If modifying these scopes, delete the file token.pickle. SCOPES = ["https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/userinfo.profile", "https://www.googleapis.com/auth/calendar.readonly", "openid"] @@ -24,9 +25,7 @@ class Calendar: class Event: def __init__(self, name_, start_, end_): self.name = name_ - self.eventColorId = 0 - self.calendarColorId = None - self.naturalColorId = 0 + self.eventColorId = None self.start = start_ self.end = end_ self.colorHex = '#adfff5' @@ -65,9 +64,6 @@ class Event: def print(self): if self.allDay: print(self.name + "All Day") - else: - print(self.name + ": " + self.naturalColorId) - def calendarCredentials(token = None): @@ -114,11 +110,11 @@ def updateCalendars(user, calendars, colors): if not user.hasCalendar(calendar.calendarId): color = fromColorIdGetColor(calendar.color, colormap, colors) c = dbCalendar(calendar_id=calendar.calendarId, - name = calendar.summary, + name = calendar.name, toggle = "False", color = color) db.session.add(c) - current_user.calendars.append(c) + user.calendars.append(c) db.session.commit() @@ -142,47 +138,6 @@ def purgeCalendars(calendars, visibleCalendars): purged.append(calendar) return purged -def getCalendarEvents(service, userCalendars, startDate, endDate): - - - visualCals = [] - for calendar in userCalendars: - if calendar.toggle == 'True': - visualCals.append(calendar.calendar_id) - - calendars = getCalendars(service) - calendars = purgeCalendars(calendars, visualCals) - - all_events = [] - - - for calendar in calendars: - events_result = service.events().list(calendarId=calendar.calendarId, timeMin=startDate, - timeMax=endDate, - maxResults=10, singleEvents=True, - orderBy='startTime').execute() - for event in events_result.get('items', []): - - # create simple event - name = event.get('summary', '(no Title)') - start = event['start'].get('dateTime') - end = event['end'].get('dateTime') - newEvent = Event(name, start, end) - - # handle weird colors from google - color = event.get('colorId') - if color == None: - for userCalendar in userCalendars: - if userCalendar.calendar_id == calendar.calendarId: - newEvent.calendarHex = userCalendar.color - newEvent.calendarColorId = calendar.color - else: - newEvent.eventColorId = color - - - all_events.append(newEvent) - - return all_events def toCalendarColorId(colormap, colorId): for remap in colormap['eventRemap']: @@ -205,9 +160,9 @@ def colorizeEvents(events, colors): with open(COLORS_FILE) as f: colormap = json.load(f) - for event in events: - if event.calendarColorId != None: + print(event.colorHex, flush=True) + if event.eventColorId != None: event.colorHex = forEventGetColor(event, colormap, colors) # this function is only used once for calendar generation stuff @@ -215,11 +170,8 @@ def fromColorIdGetColor(color, colormap, colors): return toNaturalColor(colormap, colors['calendar'][color]['background']) def forEventGetColor(event, colormap, colors): - if event.calendarColorId != 0: - bg = colors['calendar'][event.calendarColorId]['background'] - else: - calColorId = toCalendarColorId(colormap, event.eventColorId) - bg = colors['calendar'][calColorId]['background'] + calColorId = toCalendarColorId(colormap, event.eventColorId) + bg = colors['calendar'][calColorId]['background'] return toNaturalColor(colormap, bg) def toJson(events):