コード例 #1
0
ファイル: views.py プロジェクト: pombredanne/xscheduling
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")
コード例 #2
0
ファイル: models.py プロジェクト: pombredanne/xscheduling
  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