Finalize pylint review
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is failing Details

This commit is contained in:
Fred Pauchet 2022-01-07 19:28:33 +01:00
parent 4e6bb63019
commit b502b57a2a
14 changed files with 48 additions and 39 deletions

View File

@ -1,5 +1,6 @@
from django.contrib import admin
from django.db.models import fields
from django_extensions.admin import ForeignKeyAutocompleteAdmin
from .models import (
Chrono,
@ -12,7 +13,6 @@ from .models import (
HeightWeight,
Plan
)
from django_extensions.admin import ForeignKeyAutocompleteAdmin
class ChronoAdmin(ForeignKeyAutocompleteAdmin):

View File

@ -1,7 +1,6 @@
from datetime import date
from django import forms
from django.forms import widgets
from .models import (
Chrono,
@ -234,7 +233,7 @@ class MindStateForm(forms.ModelForm):
"informations": forms.Textarea(
attrs={
"class": "form-control",
"placeholder": "Informations about the psychological state of mind : context (why, where, …), possible consequencies, …",
"placeholder": "Informations about the psychological state of mind : context (why, where, …), possible consequencies, …", # pylint: disable=line-too-long
}
),
}

View File

@ -1,3 +0,0 @@
from django.test import TestCase
# Create your tests here.

View File

@ -1,6 +1,4 @@
from django.urls import path, re_path
from ultron.followup.models import MindState
from django.urls import path
from . import views

View File

@ -464,8 +464,8 @@ def routinedone_create_or_update(request, routinedone_id=None, gymnast_id=None):
return HttpResponseRedirect(
reverse("gymnast_details", args=(form.cleaned_data["gymnast"].id,))
)
else:
print(form.errors)
print(form.errors)
else:
form = NumberOfRoutineDoneForm(instance=routinedone, initial=data)

View File

@ -231,7 +231,7 @@ def routine_create_or_update(request, routineid=None):
routine = form.save()
# ici faire un FOR skill in form_skills_list:
# record.save() # ca sauve le record dans la table RoutineSkill
# something like this : http://stackoverflow.com/questions/3074938/django-m2m-form-save-through-table
# something like this : http://stackoverflow.com/questions/3074938/django-m2m-form-save-through-table # pylint: disable=line-too-long
# TO_FRED : can you help me ?
return HttpResponseRedirect(reverse("routine_details", args=(routine.pk,)))

View File

@ -154,8 +154,9 @@ class Gymnast(Markdownizable):
def unknown_skill_lte_level(self, max_level_skill):
"""
Renvoie la liste des skill inférieurs ou égaux au niveau max que le gymnaste ne sait *pas* faire.
Liste des Skill que le gymnaste ne sait PAS faire, classé par niveau (ayant un niveau inférieur ou égal au niveau max du gym)
Liste des Skill que le gymnaste ne sait PAS faire/
Ces skills sont classé par niveau.
"""
return Skill.objects.filter(level__lte=max_level_skill).exclude(
known_by__gymnast=self.id
@ -163,8 +164,8 @@ class Gymnast(Markdownizable):
def unknown_skill_gt_level(self, max_level_skill):
"""
Renvoie la liste des skill inférieurs ou égaux au niveau max que le gymnaste ne sait *pas* faire.
Liste des Skill que le gymnaste ne sait PAS faire, classé par niveau (ayant un niveau inférieur ou égal au niveau max du gym)
Liste des Skill que le gymnaste ne sait PAS faire,
classé par niveau (ayant un niveau inférieur ou égal au niveau max du gym)
"""
return Skill.objects.filter(level__gt=max_level_skill).exclude(
known_by__gymnast=self.id
@ -179,7 +180,8 @@ class Gymnast(Markdownizable):
def unknown_skill_gt_rank(self, max_rank_skill):
"""
Liste des Skill que le gymnaste ne sais PAS faire (ayant un niveau plus grand que le niveau max du gym)
Liste des Skill que le gymnaste ne sais PAS faire
(ayant un niveau plus grand que le niveau max du gym)
"""
return Skill.objects.filter(level__gt=max_rank_skill).exclude(
known_by__gymnast=self.id
@ -274,15 +276,33 @@ class Gymnast(Markdownizable):
1. on va chercher le niveau maximum de skill que le gymnast sait faire
2. on va chercher le nombre de skill par niveau que le gymnast sait faire
nb_known_skill_by_level = [{'level': 1, 'nb_known_skill': 1}, {'level': 2, 'nb_known_skill': 2}]
nb_known_skill_by_level = [
{
'level': 1,
'nb_known_skill': 1
},
{
'level': 2,
'nb_known_skill': 2
}
]
3. si le niveau max est supérieur à 0
OUI:
a. on va chercher le nombre total des skills dont le niveau est inférieur ou égale au niveau max (cf. 1.)
a. on va chercher le nombre total des skills dont le niveau
est inférieur ou égale au niveau max (cf. 1.)
b. on va chercher le nombre de skill qu'il y a par niveau :
[{'level': 1, 'nb_skill': 1}, {'level': 2, 'nb_skill': 1}]
[
{
'level': 1, 'nb_skill': 1
},
{
'level': 2, 'nb_skill': 1
}
]
c. Pour chaque élément da la liste obtenue en b :
- si le niveau du skill est le même que le niveau courant ... je sais pas, je comprends plus...
- si le niveau du skill est le même que le niveau courant ...
je sais pas, je comprends plus...
- on incrémente j
NON:
@ -319,7 +339,7 @@ class Gymnast(Markdownizable):
"""
context = {}
min_rank_skill = self.min_rank_skill()
# min_rank_skill = self.min_rank_skill()
max_rank_skill = self.max_rank_skill()
context["max_rank_skill"] = max_rank_skill
nb_known_skill_by_rank = self.known_skill_by_rank()

View File

@ -13,7 +13,7 @@ def generate_level_chart_bar(gymnast_id):
"""
gymnast = get_object_or_404(Gymnast, pk=gymnast_id)
gymnast_known_skills = gymnast.known_skills.count()
# gymnast_known_skills = gymnast.known_skills.count()
context = gymnast.get_informations_from_level()
return context

View File

@ -93,7 +93,7 @@ def gymnast_details(request, gymnast_id, tab=None):
.order_by("-score")[:1]
)
nb_unknown_skill = nb_skill - gymnast_nb_known_skills
# nb_unknown_skill = nb_skill - gymnast_nb_known_skills
context = {
"gymnast": gymnast,
@ -284,8 +284,8 @@ def gymnast_create_or_update(request, gymnast_id=None):
if gymnast_form.is_valid():
gymnast = gymnast_form.save()
return HttpResponseRedirect("/gymnast/details/" + str(gymnast.id))
else:
print(gymnast_form.errors)
print(gymnast_form.errors)
form = GymnastForm(instance=gymnast, initial=data)
@ -296,9 +296,9 @@ def gymnast_create_or_update(request, gymnast_id=None):
@login_required
@require_http_methods(["GET"])
def gymnast_display_skill(request, gymnast_id):
"""
Tag affichant les statistiques de skill d'un gymnaste : le nombre de saut qu'il sait faire (total,
par niveau, par rank, ), calcule la complétude,
"""Tag affichant les statistiques de skill d'un gymnaste
Le nombre de saut qu'il sait faire (total, par niveau, par rank, …), calcule la complétude, …
.. todo:: Générer UNE fois la liste de skill que le gymnaste ne sait pas faire (1 query)
et les counts puis, dans le template on parcourt plusieurs fois cette même liste mais on

View File

@ -45,7 +45,7 @@ class EventAdmin(ForeignKeyAutocompleteAdmin):
# filter_horizontal = ('gymnasts',)
class Event_ParticipationAdmin(admin.ModelAdmin):
class EventParticipationAdmin(admin.ModelAdmin):
model = Event_Participation
fields = ("event", "gymnast", "rank")
@ -54,4 +54,4 @@ class Event_ParticipationAdmin(admin.ModelAdmin):
admin.site.register(EventType, EventTypeAdmin)
admin.site.register(Event, EventAdmin)
admin.site.register(Event_Participation, Event_ParticipationAdmin)
admin.site.register(Event_Participation, EventParticipationAdmin)

View File

@ -2,8 +2,6 @@ from datetime import date
from django import forms
from ultron.people.models import Gymnast
from .models import Event

View File

@ -1,7 +1,6 @@
from django.contrib.auth.decorators import login_required
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render, get_object_or_404
from django.utils import timezone
from django.views.decorators.http import require_http_methods
import simplejson

View File

@ -1,6 +1,4 @@
from datetime import date
from django import forms
from .models import Profile

View File

@ -1,6 +1,6 @@
from django import template
from django.utils.html import format_html
from django.urls import resolve, reverse
from django.urls import reverse
register = template.Library()