def get_project(id): entity = doneit.get_by_id('projects', id) entity['admin'] = doneit.get_by_id("users", entity['admin_id']) if request.query.date: entity['date'] = doneit.timezone.localize(datetime.datetime.fromtimestamp(time.mktime(time.strptime(request.query.date, "%y-%m-%d")))) else: entity['date'] = doneit.timezone.localize(datetime.datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)) # midnight today if (doneit.timezone.localize(datetime.datetime.now()).hour > int(entity['digest-hour'])): # Cutoff has already passed for today entity['date'] = entity['date'] + timedelta(days=1) # Offset date based on when digest is sent (plus a magic number) entity['date'] = entity['date'] + timedelta(hours=int(entity['digest-hour'])) for task_type in ['done', 'todo', 'block', 'doing']: entity[task_type] = doneit.get_tasks(task_type, entity['_id'], entity['date']) return template('project', loggedin=check(request), project=entity)
def digest_composition(project_id): project = doneit.get_by_id('projects', project_id) timezone = pytz.timezone('US/Eastern') if request.query.date: date = doneit.timezone.localize(datetime.datetime.fromtimestamp(time.mktime(time.strptime(request.query.date, "%y-%m-%d")))) doneit.log(request.query.date) else: date = doneit.timezone.localize(datetime.datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)) # midnight today # Offset date based on when digest is sent date = date + timedelta(hours=int(project['digest-hour'])) doneit.log("Digest requested for %s as of %s" % (project['name'], date)) response = {'status':'success', 'tasks':{'done':[], 'todo':[], 'block':[], 'doing':[]}} for task_type in response['tasks']: task_list = doneit.get_tasks(task_type, project['_id'], date) response['tasks'][task_type] = json_util.dumps(task_list) return response