def get_experience(exp_type, commit_type, item, day, default): key = get_key(exp_type, commit_type, item) try: return experiences[key] except KeyError: queue = utils.ExpQueue(day, EXPERIENCE_TIMESPAN + 1, default) experiences[key] = queue return queue
def get_experience(exp_type: str, commit_type: str, item: str, day: int, default: Union[int, Tuple]) -> utils.ExpQueue: key = get_key(exp_type, commit_type, item) try: return experiences[key] except KeyError: queue = utils.ExpQueue(day, EXPERIENCE_TIMESPAN + 1, default) experiences[key] = queue return queue
def get_experience(exp_type, commit_type, item, day, default): if exp_type not in experiences: experiences[exp_type] = {} if commit_type not in experiences[exp_type]: experiences[exp_type][commit_type] = {} if item not in experiences[exp_type][commit_type]: experiences[exp_type][commit_type][item] = utils.ExpQueue( day, EXPERIENCE_TIMESPAN + 1, default) return experiences[exp_type][commit_type][item][day]
def get_experience(exp_type, commit_type, item, day, default): key = get_key(exp_type, commit_type, item) if key not in experiences: experiences[key] = utils.ExpQueue(day, EXPERIENCE_TIMESPAN + 1, default) return experiences[key][day]
def test_exp_queue(): q = utils.ExpQueue(0, 4, 0) q[0] = 1 assert q[0] == 1 q[0] = 2 assert q[0] == 2 q = utils.ExpQueue(366, 91, 0) assert q[366] == 0 assert q[276] == 0 q[366] += 1 assert q[367] == 1 assert q[277] == 0 q = utils.ExpQueue(0, 4, 0) assert q[0] == 0 q[0] += 1 assert q[0] == 1 q[0] += 1 assert q[0] == 2 assert q[1] == 2 q[1] += 1 assert q[1] == 3 assert q[9] == 3 q[9] += 1 assert q[9] == 4 assert q[6] == 3 assert q[11] == 4 q[11] += 1 assert q[11] == 5 q[12] += 1 assert q[12] == 6 q[13] += 1 assert q[13] == 7 q[14] += 1 assert q[14] == 8 q[15] += 1 assert q[15] == 9 q = utils.ExpQueue(0, 4, 0) assert q[0] == 0 q[0] += 1 assert q[0] == 1 assert q[1] == 1 assert q[9] == 1 q[9] += 1 assert q[9] == 2 assert q[10] == 2 assert q[8] == 1 assert q[7] == 1 assert q[6] == 1 q = utils.ExpQueue(9, 3, 0) assert q[8] == 0 assert q[9] == 0 q[9] += 1 assert q[11] == 1 assert q[10] == 1 assert q[8] == 0 assert q[11] == 1 assert q[8] == 0 assert q[9] == 1 assert q[12] == 1