def addevent(request): # cshUserName = request.headers["X-Webauth-User"] title = request.params['title'] start = request.params['start'] end = request.params['end'] allDay = request.params['allDay'] #closeddate = request.params['closeddate'] print (title + start + end + allDay) start = convertFullTime(start) end = convertFullTime(end) gcal = GoogleCalendar() gcal.addEvent(start, end, title) return {'username' : 123, 'userNumber' : 0}
### Parse configuration file ### config = ConfigParser.ConfigParser() # Get mandatory parameters try: config.read(config_file) g_username = config.get('google', 'username') g_password = config.get('google', 'password') ical_path = config.get('ical', 'path') except Exception, e: print 'ERROR: not a valid configuration file, check', config_file print type(e), e.args, e sys.exit(1) ### Initialization ### gcalendar = GoogleCalendar() icalendar = iCalCalendar(ical_path) # Login into Google Calendar gcalendar._ClientLogin(g_username, g_password) all_calendars = gcalendar.cal_client.GetOwnCalendarsFeed() # Gcal name which has to be synchronized with the ical gcal_name = icalendar.calName() + '-sync' for a_calendar in all_calendars.entry: print 'Found the calendar %s' % a_calendar.title.text if a_calendar.title.text == gcal_name: print '*Found the calendar %s' % a_calendar.title.text a_c = a_calendar
def main(): if len(sys.argv) != 2: sys.stderr.write("Usage: wf_calendar_sync.py [YAML file]\n") exit(1) sys.stdout.write("(c) 2011 Jonas Gulle <*****@*****.**>\n\n") sys.stdout.write("Enter your Google Account credentials.\n") from getpass import getpass while True: try: username = raw_input(" Username: "******" Password: "******"%s\n" % e) calendars = calendar.get_calendars() sys.stdout.write("\nYour calendars:\n"); for i, c in enumerate(calendars): sys.stdout.write(" %d: %s\n" % (i + 1, c["name"])) while True: try: i = int(raw_input("Select calendar: ")) - 1 if i < 0: raise IndexError calendar.insert_uri = calendars[i]["insert_uri"] break except (IndexError, ValueError): sys.stderr.write("No such calendar exist\n") with open(sys.argv[1]) as f: doc = yaml.load(f.read()) sys.stdout.write("\nCreating events, please wait.") for event in doc["Calendar"]: from datetime import timedelta start = event["Date"] # Default to 3 hours if length is omitted end = start + timedelta(hours=3) if event.has_key("Length"): end = start + timedelta(hours=int(event["Length"])) # Grab the first line as the title title = event["Event"].partition("\n")[0] def dress_str(s): try: return {u"MK": u"Mörk kostym", u"HD": u"Högtidsdräkt"}[s] except KeyError: return s content = u"" if event.has_key("Dress code"): content = u"%s\n\nKlädkod: %s" % (event["Event"], dress_str(event["Dress code"])) else: content = event["Event"] calendar.insert_event( title, content, start_time=start.isoformat(), end_time=end.isoformat() ) sys.stdout.write(".") sys.stdout.write("\nDone!\n")