if r.status_code == 200: initDB() items = json.loads(r.text.encode('utf8'))['items'] for item in items: try: if item['visibility'] == "private": continue except: pass event = Event() data = {} event.title = item['summary'] event.location = item.get('location') if 'date' in item['start']: event.all_day = True event.start = iso8601.parse_date(item['start']['date']) event.end = iso8601.parse_date(item['end']['date']) else: event.all_day = False event.start = iso8601.parse_date( item['start']['dateTime']).astimezone(utc) event.end = iso8601.parse_date( item['end']['dateTime']).astimezone(utc) session.add(event) session.commit() session.close()