Пример #1
0
    def current(cls):
        iter_ids = redis.lrange(
            Iteration.STATE_KEY.format(state='current'), 0, -1)

        for iter_id_ in iter_ids:
            ids = redis.smembers(Iteration.STORIES_LIST.format(pk=iter_id_))
            for id_ in ids:
                yield cls.get(id_)
Пример #2
0
    def iter_icebox(cls):
        ids = redis.smembers(
            cls.STATE_KEY.format(
                state='unscheduled'
            )
        )

        for id_ in ids:
            yield cls.get(id_)
Пример #3
0
    def get_velocity_for_iteration(cls, iteration_id, with_team_strength=False):
        if iteration_id <= 0:
            return 0
        elif iteration_id == 1:
            return cls.INITIAL_VELOCITY

        stories_ids = redis.smembers(cls.STORIES_LIST.format(pk=iteration_id))
        team_strength = float(json.loads(
            redis.get(cls.ENTRY_KEY.format(pk=iteration_id)))['team_strength'])

        iteration_velocity = sum([
            json.loads(
                redis.get(cls.STORY_KEY.format(pk=pk))
            ).get('estimate', 0) for pk in stories_ids
        ])

        if with_team_strength:
            return int(iteration_velocity / team_strength)
        else:
            return iteration_velocity