def events(request, object_id=None): try: staff = Staff.objects.get(user_ptr=request.user) except ObjectDoesNotExist: staff = None if not staff and object_id: try: staff = Staff.objects.get(id=object_id) except ObjectDoesNotExist: pass start = request.GET.get('start', None) end = request.GET.get('end', None) try: start = datetime.fromtimestamp(float(start)) end = datetime.fromtimestamp(float(end)) except ValueError: raise start = start + timedelta(days=1) start = start.strftime('%Y-%m-%d') end = end + timedelta(days=1) end = end.strftime('%Y-%m-%d') admin_email = '%s@%s' % (settings.GAPPS_USERNAME, settings.GAPPS_DOMAIN) srv = client_login(admin_email, settings.GAPPS_PASSWORD) if staff: events = get_events(srv, start, end, staff.email, staff.style) else: events = get_events(srv, start, end) json = simplejson.dumps(events) return HttpResponse(json, mimetype="application/json")
def gcal_sync(self): admin_email = '%s@%s' % (settings.GAPPS_USERNAME, settings.GAPPS_DOMAIN) srv = client_login(admin_email, settings.GAPPS_PASSWORD) feed = srv.GetAllCalendarsFeed() cals = feed.entry #post to admin cal success = False while not success: try: self._add_event_to_admin_cal(srv, cals, admin_email) success = True except RequestError: continue #post to staff cals for staff in self.staff.all(): success = False while not success: try: self._add_event_to_staff_cal(srv, cals, staff) success = True except RequestError: continue