def state_cycle_history(team_name, state_name, start_date, end_date): team = _get_team(team_name) cards = _get_cards(team) by_card = {} state_hours = [] for card in cards: card_total_time_in_state = 0 logs = _get_card_logs(card) for log in logs: if log.state == state_name: if log.entered >= start_date: if log.entered <= end_date: card_total_time_in_state += log.duration if card_total_time_in_state > 0: by_card[card.key] = card_total_time_in_state state_hours.append(card_total_time_in_state) filename = "%s_%s_%s.csv" % \ (start_date.strftime("%b-%Y"), end_date.strftime("%b-%Y"), team_name) writer = csv.writer(file(filename, 'w')) for card, wait in by_card.items(): writer.writerow([card, float(wait / 24.0)])
def state_cycle_history(team_name, state_name, start_date, end_date): team = _get_team(team_name) cards = _get_cards(team) by_card = {} state_hours = [] for card in cards: card_total_time_in_state = 0 logs = _get_card_logs(card) for log in logs: if log.state == state_name: if log.entered >= start_date: if log.entered <= end_date: card_total_time_in_state += log.duration if card_total_time_in_state > 0: by_card[card.key] = card_total_time_in_state state_hours.append(card_total_time_in_state) filename = "%s_%s_%s.csv" % \ (start_date.strftime("%b-%Y"), end_date.strftime("%b-%Y"), team_name) writer = csv.writer(file(filename, 'w')) for card, wait in by_card.items(): writer.writerow([card, float(wait/24.0)])
def report_suite(name, start, end): start, end = _get_time_range(None, start, end) try: team = _get_team(name) done, wip = _get_cards(team, start, end) except ValueError: rg_slug = _verify_rg(name) done, wip = _get_cards_by_report_group(rg_slug, start, end) done = [k for k in done if k.is_card] wip = [k for k in done if k.is_card] for k in done: print "%s - %s - %s" % (k.key, k.cycle_time, k._service_class) cycle_times = [c.cycle_time for c in done] hist = histogram(cycle_times) print "Sample size: %s" % len(cycle_times) print "Average: %s" % average(cycle_times) for k, v in hist.items(): print "%s\t%s" % (k, v)