[WIP] improve logic into routine suggestion.

This commit is contained in:
Trullemans Gregory 2020-03-10 22:06:08 +01:00
parent b7668ad992
commit dae1c8648d
1 changed files with 15 additions and 6 deletions

View File

@ -20,6 +20,7 @@ from people.models import Gymnast, CanDoRelation
from datetime import datetime
import random
import math
def __lookup(lookup_class, lookup_value):
"""
@ -362,7 +363,7 @@ def suggest_routine(request, difficulty_score, routine_length, max_difficulty_sc
current_routine = []
if last_jump:
skill_list = Skill.objects.filter(departure = last_jump.landing)
skill_list = Skill.objects.filter(departure = last_jump.landing, difficulty__lte = difficulty_score)
if logic and last_jump.landing == "Debout":
skill_list = skill_list.exclude(rotationType = last_jump.rotationType)
else:
@ -372,11 +373,19 @@ def suggest_routine(request, difficulty_score, routine_length, max_difficulty_sc
skill_list = skill_list.filter(is_competitive = True)
if logic and max_difficulty_score:
min_difficulty_score = difficulty_score / 10
min_difficulty_score -= (min_difficulty_score / 3)
max_difficulty_score = difficulty_score / 10
max_difficulty_score += (max_difficulty_score / 2)
# logique à terminer d'implémenter...
min_difficulty_score = math.ceil(max(0, ((difficulty_score / 10) - 5)))
if difficulty_score <= 6:
max_difficulty_score = math.ceil(difficulty_score / 5) + 1
elif difficulty_score <= 12:
max_difficulty_score = math.ceil(difficulty_score / 10) + 7
else:
max_difficulty_score = math.ceil(difficulty_score / 15) + 11
skill_list = skill_list.filter(
difficulty__gte = min_difficulty_score,
difficulty__lte = max_difficulty_score
)
for skill in skill_list:
current_routine.append(skill)