Beispiel #1
0
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)
Beispiel #2
0
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