[WIP] improve logic into routine suggestion.
This commit is contained in:
parent
b7668ad992
commit
dae1c8648d
|
@ -20,6 +20,7 @@ from people.models import Gymnast, CanDoRelation
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
import math
|
||||||
|
|
||||||
def __lookup(lookup_class, lookup_value):
|
def __lookup(lookup_class, lookup_value):
|
||||||
"""
|
"""
|
||||||
|
@ -362,7 +363,7 @@ def suggest_routine(request, difficulty_score, routine_length, max_difficulty_sc
|
||||||
current_routine = []
|
current_routine = []
|
||||||
|
|
||||||
if last_jump:
|
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":
|
if logic and last_jump.landing == "Debout":
|
||||||
skill_list = skill_list.exclude(rotationType = last_jump.rotationType)
|
skill_list = skill_list.exclude(rotationType = last_jump.rotationType)
|
||||||
else:
|
else:
|
||||||
|
@ -372,11 +373,19 @@ def suggest_routine(request, difficulty_score, routine_length, max_difficulty_sc
|
||||||
skill_list = skill_list.filter(is_competitive = True)
|
skill_list = skill_list.filter(is_competitive = True)
|
||||||
|
|
||||||
if logic and max_difficulty_score:
|
if logic and max_difficulty_score:
|
||||||
min_difficulty_score = difficulty_score / 10
|
min_difficulty_score = math.ceil(max(0, ((difficulty_score / 10) - 5)))
|
||||||
min_difficulty_score -= (min_difficulty_score / 3)
|
|
||||||
max_difficulty_score = difficulty_score / 10
|
if difficulty_score <= 6:
|
||||||
max_difficulty_score += (max_difficulty_score / 2)
|
max_difficulty_score = math.ceil(difficulty_score / 5) + 1
|
||||||
# logique à terminer d'implémenter...
|
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:
|
for skill in skill_list:
|
||||||
current_routine.append(skill)
|
current_routine.append(skill)
|
||||||
|
|
Loading…
Reference in New Issue