def update_harvest_tasks(request): """ Update all tasks from harvest. This isn't particularly big or clever, needs to watch out for api rate limit (15 reqs per 40 secs) sequence 3/3 """ response = [] h = Harvest( settings.HARVEST_ADDRESS, settings.HARVEST_USER, settings.HARVEST_PASS ) for htask in h.tasks(): try: t = TaskType.objects.get(harvest_id=htask.id) t.name = htask.name response.append({'harvest_id':htask.id,'name':htask.name,'status':'updated'}) except: TaskType(harvest_id=htask.id,name=htask.name) response.append({'harvest_id':htask.id,'name':htask.name,'status':'added'}) t.save() return HttpResponse(simplejson.dumps(response,indent=2, ensure_ascii=False),mimetype='application/json')