def do_ct_login(username, password): server = config.get("server", "ct_url") ct = SimpleAPI(server) logged_in = ct.login(username, password) if logged_in: session['user'] = username session['ct'] = ct return logged_in
config.read([default_cfg, user_cfg]) server = config.get("server", "url") username = config.get("login", "username") password = config.get("login", "password") now = datetime.datetime.now() parser = argparse.ArgumentParser() parser.add_argument('-m', dest='month', type=int, default=now.month, help='The month number to list hours from, defaults to current month') parser.add_argument('-y', dest='year', type=int, default=now.year, help='The year to list hours from, defaults to current year') args = parser.parse_args() ct = SimpleAPI(server) if ct.login(username, password): result = defaultdict(lambda: 0) for activity in ct.get_activities(args.year, args.month): result[activity.project_id] += activity.duration project_map = dict([(p.id, p) for p in ct.get_projects()]) for project_id, worked in sorted(result.items()): if not worked: continue print "%04s: %s" % (worked, project_map[project_id].name) else: print "Could not login."