Esempio n. 1
0
	def get_queryset(self):
		#get date from which search
		d = datetime.datetime.utcnow()
		d = d - datetime.timedelta(days=1)

		#get current user
		user = User(self.request.session['user'])

		#get task ids from db
		ids_cur = user.get_task_ids(d)

		#get total results
		self.total_results = ids_cur.count()

		itms = []
		null = None  #to make sure that eval('null') do not fire error
		for id in ids_cur.limit(self.n):
			tsk = celery_app.backend.get_task_meta(id['_id'])

			res = tsk['result']
			if tsk['status'].lower() == u'failure':
				res = u'{0} error: {1}'.format(res['exc_type'], res['exc_message'])
				tsk['err'] = res
			else:
				try:
					res = res['url'] if res else u''
					tsk['url'] = res
				except KeyError:
					tsk['err'] = json.dumps(res)

			tsk["status_class"] = u"status_" + tsk["status"].lower().replace(u' ', u'_')
			itms.append(tsk)

		return itms