def handle(self, *args, **options): if settings.USE_GOOGLE_CAL: try: calendar = googlecalendar.CalendarHelper(settings.GOOGLE_USER, settings.GOOGLE_PASS) except Exception,e: self.stdout.write("Unable to connect to calendar service [%s]\n" % str(e)) else: taxlist = Tax.objects.filter(updated=False) self.stdout.write("%d items to update\n" % len(taxlist)) a = 0 for tax in taxlist: event = None if tax.gcalId != '': event = calendar.get_event(tax.gcalId) if not event: event = googlecalendar.CalendarEvent(title=tax.service + ' [$ ' + str(tax.amount) + ']', start_date=DateService.midNight(tax.expire), end_date=DateService.midNight(tax.expire)+datetime.timedelta(days=1), description=tax.account) else: event.set_title(tax.service + ' [$ ' + str(tax.amount) + ']') event.set_start_date(DateService.midNight(tax.expire)) event.set_end_date(DateService.midNight(tax.expire)+datetime.timedelta(days=1)) event.set_description(tax.account) try: ev = calendar.save_event(event) except Exception, e1: self.stdout.write("Error while saving event %s: %s\n" % (tax.service,str(e1))) else: a += 1 tax.gcalId = ev.get_id() tax.updated = True tax.save() self.stdout.write("%d items updated\n" % a)
def update_calendar(id): tax = Tax.objects.get(pk=id) calendar = googlecalendar.CalendarHelper(settings.GOOGLE_USER, settings.GOOGLE_PASS) event = False if tax.gcalId != '': event = calendar.get_event(tax.gcalId) if event is False: event = googlecalendar.CalendarEvent(title=tax.service + ' [$ ' + str(tax.amount) + ']', start_date=DateService.midNight(tax.expire), end_date=DateService.midNight(tax.expire)+datetime.timedelta(days=1), description=tax.account) else: event.set_title(tax.service + ' [$ ' + str(tax.amount) + ']') event.set_start_date(DateService.midNight(tax.expire)) event.set_end_date(DateService.midNight(tax.expire)+datetime.timedelta(days=1)) event.set_description(tax.account) try: ev = calendar.save_event(event) except Exception, e1: get_logger().error(str(e1)) tax.updated = False
safe = True data = '{"success":true, "msg": "%s"}' % (_('Created Tax for Service <b>%(service)s</b>') % {'service':e.service}) try: elem = e.save() except _mysql_exceptions.Warning: pass except Exception, e1: safe = False data = '{"success":false, "msg": "%s"}' % (e1.args) if safe: if settings.USE_GOOGLE_CAL: try: t = Tax.objects.get(id=elem.id) event = googlecalendar.CalendarEvent(title=t.service + ' [$ ' + str(t.amount) + ']', start_date=DateService.midNight(t.expire), end_date=DateService.midNight(t.expire)+datetime.timedelta(days=1), description=t.account) calendar = googlecalendar.CalendarHelper(settings.GOOGLE_USER, settings.GOOGLE_PASS) ev = calendar.save_event(event) t.gcalId = ev.get_id() t.save() except Exception, e1: data = '{"success":true, "msg": "%s"}' % (e1.args) return data @json_response def update(request): req = request.REQUEST o = Tax.objects.get(pk=req['id'])
try: calendar = googlecalendar.CalendarHelper(settings.GOOGLE_USER, settings.GOOGLE_PASS) except Exception,e: print "Unable to connect to calendar service [%s]" % str(e) else: taxlist = Tax.objects.filter(updated=False) print "%d items to update" % len(taxlist) a = 0 for tax in taxlist: event = None if tax.gcalId != '': event = calendar.get_event(tax.gcalId) if not event: event = googlecalendar.CalendarEvent(title=tax.service + ' [$ ' + str(tax.amount) + ']', start_date=DateService.midNight(tax.expire), end_date=DateService.midNight(tax.expire)+datetime.timedelta(days=1), description=tax.account) else: event.set_title(tax.service + ' [$ ' + str(tax.amount) + ']') event.set_start_date(DateService.midNight(tax.expire)) event.set_end_date(DateService.midNight(tax.expire)+datetime.timedelta(days=1)) event.set_description(tax.account) try: ev = calendar.save_event(event) except Exception, e1: print "Error while saving event %s: %s" % (tax.service,str(e1)) else: a += 1 tax.gcalId = ev.get_id()