Fix: pylint rules
This commit is contained in:
parent
e88d73565f
commit
4957751101
@ -451,7 +451,8 @@ disable=raw-checker-failed,
|
|||||||
arguments-differ,
|
arguments-differ,
|
||||||
invalid-overridden-method,
|
invalid-overridden-method,
|
||||||
unsupported-binary-operation,
|
unsupported-binary-operation,
|
||||||
attribute-defined-outside-init
|
attribute-defined-outside-init,
|
||||||
|
duplicate-code
|
||||||
|
|
||||||
# Enable the message, report, category or checker with the given id(s). You can
|
# Enable the message, report, category or checker with the given id(s). You can
|
||||||
# either give multiple identifier separated by comma (,) or put this option
|
# either give multiple identifier separated by comma (,) or put this option
|
||||||
|
|||||||
@ -12,6 +12,7 @@ https://docs.djangoproject.com/en/2.2/ref/settings/
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
from decouple import config
|
from decouple import config
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
@ -251,3 +252,32 @@ STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
|
|||||||
|
|
||||||
STUDENT_ID_PREFIX = config("STUDENT_ID_PREFIX", "ugr")
|
STUDENT_ID_PREFIX = config("STUDENT_ID_PREFIX", "ugr")
|
||||||
LECTURER_ID_PREFIX = config("LECTURER_ID_PREFIX", "lec")
|
LECTURER_ID_PREFIX = config("LECTURER_ID_PREFIX", "lec")
|
||||||
|
|
||||||
|
|
||||||
|
# Constants
|
||||||
|
YEARS = (
|
||||||
|
(1, "1"),
|
||||||
|
(2, "2"),
|
||||||
|
(3, "3"),
|
||||||
|
(4, "4"),
|
||||||
|
(5, "5"),
|
||||||
|
(6, "6"),
|
||||||
|
)
|
||||||
|
|
||||||
|
BACHELOR_DEGREE = "Bachelor"
|
||||||
|
MASTER_DEGREE = "Master"
|
||||||
|
|
||||||
|
LEVEL_CHOICES = (
|
||||||
|
(BACHELOR_DEGREE, _("Bachelor Degree")),
|
||||||
|
(MASTER_DEGREE, _("Master Degree")),
|
||||||
|
)
|
||||||
|
|
||||||
|
FIRST = "First"
|
||||||
|
SECOND = "Second"
|
||||||
|
THIRD = "Third"
|
||||||
|
|
||||||
|
SEMESTER_CHOICES = (
|
||||||
|
(FIRST, _("First")),
|
||||||
|
(SECOND, _("Second")),
|
||||||
|
(THIRD, _("Third")),
|
||||||
|
)
|
||||||
|
|||||||
@ -1,7 +1,11 @@
|
|||||||
|
import random
|
||||||
|
import string
|
||||||
|
from django.utils.text import slugify
|
||||||
from django.core.mail import send_mail
|
from django.core.mail import send_mail
|
||||||
from django.template.loader import render_to_string
|
from django.template.loader import render_to_string
|
||||||
from django.utils.html import strip_tags
|
from django.utils.html import strip_tags
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.utils.text import slugify
|
||||||
|
|
||||||
|
|
||||||
def send_email(user, subject, msg):
|
def send_email(user, subject, msg):
|
||||||
@ -30,3 +34,27 @@ def send_html_email(subject, recipient_list, template, context):
|
|||||||
recipient_list,
|
recipient_list,
|
||||||
html_message=html_message,
|
html_message=html_message,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def random_string_generator(size=10, chars=string.ascii_lowercase + string.digits):
|
||||||
|
return "".join(random.choice(chars) for _ in range(size))
|
||||||
|
|
||||||
|
|
||||||
|
def unique_slug_generator(instance, new_slug=None):
|
||||||
|
"""
|
||||||
|
Assumes the instance has a model with a slug field and a title
|
||||||
|
character (char) field.
|
||||||
|
"""
|
||||||
|
if new_slug is not None:
|
||||||
|
slug = new_slug
|
||||||
|
else:
|
||||||
|
slug = slugify(instance.title)
|
||||||
|
|
||||||
|
Klass = instance.__class__
|
||||||
|
qs_exists = Klass.objects.filter(slug=slug).exists()
|
||||||
|
if qs_exists:
|
||||||
|
new_slug = "{slug}-{randstr}".format(
|
||||||
|
slug=slug, randstr=random_string_generator(size=4)
|
||||||
|
)
|
||||||
|
return unique_slug_generator(instance, new_slug=new_slug)
|
||||||
|
return slug
|
||||||
|
|||||||
@ -7,37 +7,8 @@ from django.dispatch import receiver
|
|||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from core.models import ActivityLog
|
from core.models import ActivityLog, Semester
|
||||||
from core.models import Semester
|
from core.utils import unique_slug_generator
|
||||||
from .utils import unique_slug_generator
|
|
||||||
|
|
||||||
# Constants
|
|
||||||
YEARS = (
|
|
||||||
(1, "1"),
|
|
||||||
(2, "2"),
|
|
||||||
(3, "3"),
|
|
||||||
(4, "4"),
|
|
||||||
(5, "5"),
|
|
||||||
(6, "6"),
|
|
||||||
)
|
|
||||||
|
|
||||||
BACHELOR_DEGREE = "Bachelor"
|
|
||||||
MASTER_DEGREE = "Master"
|
|
||||||
|
|
||||||
LEVEL_CHOICES = (
|
|
||||||
(BACHELOR_DEGREE, _("Bachelor Degree")),
|
|
||||||
(MASTER_DEGREE, _("Master Degree")),
|
|
||||||
)
|
|
||||||
|
|
||||||
FIRST = "First"
|
|
||||||
SECOND = "Second"
|
|
||||||
THIRD = "Third"
|
|
||||||
|
|
||||||
SEMESTER_CHOICES = (
|
|
||||||
(FIRST, _("First")),
|
|
||||||
(SECOND, _("Second")),
|
|
||||||
(THIRD, _("Third")),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class ProgramManager(models.Manager):
|
class ProgramManager(models.Manager):
|
||||||
@ -94,9 +65,9 @@ class Course(models.Model):
|
|||||||
credit = models.IntegerField(default=0)
|
credit = models.IntegerField(default=0)
|
||||||
summary = models.TextField(max_length=200, blank=True)
|
summary = models.TextField(max_length=200, blank=True)
|
||||||
program = models.ForeignKey(Program, on_delete=models.CASCADE)
|
program = models.ForeignKey(Program, on_delete=models.CASCADE)
|
||||||
level = models.CharField(max_length=25, choices=LEVEL_CHOICES)
|
level = models.CharField(max_length=25, choices=settings.LEVEL_CHOICES)
|
||||||
year = models.IntegerField(choices=YEARS, default=1)
|
year = models.IntegerField(choices=settings.YEARS, default=1)
|
||||||
semester = models.CharField(choices=SEMESTER_CHOICES, max_length=200)
|
semester = models.CharField(choices=settings.SEMESTER_CHOICES, max_length=200)
|
||||||
is_elective = models.BooleanField(default=False)
|
is_elective = models.BooleanField(default=False)
|
||||||
|
|
||||||
objects = CourseManager()
|
objects = CourseManager()
|
||||||
|
|||||||
@ -1,30 +0,0 @@
|
|||||||
import datetime
|
|
||||||
import os
|
|
||||||
import random
|
|
||||||
import string
|
|
||||||
|
|
||||||
from django.utils.text import slugify
|
|
||||||
|
|
||||||
|
|
||||||
def random_string_generator(size=10, chars=string.ascii_lowercase + string.digits):
|
|
||||||
return "".join(random.choice(chars) for _ in range(size))
|
|
||||||
|
|
||||||
|
|
||||||
def unique_slug_generator(instance, new_slug=None):
|
|
||||||
"""
|
|
||||||
This is for a Django project and it assumes your instance
|
|
||||||
has a model with a slug field and a title character (char) field.
|
|
||||||
"""
|
|
||||||
if new_slug is not None:
|
|
||||||
slug = new_slug
|
|
||||||
else:
|
|
||||||
slug = slugify(instance.title)
|
|
||||||
|
|
||||||
Klass = instance.__class__
|
|
||||||
qs_exists = Klass.objects.filter(slug=slug).exists()
|
|
||||||
if qs_exists:
|
|
||||||
new_slug = "{slug}-{randstr}".format(
|
|
||||||
slug=slug, randstr=random_string_generator(size=4)
|
|
||||||
)
|
|
||||||
return unique_slug_generator(instance, new_slug=new_slug)
|
|
||||||
return slug
|
|
||||||
@ -2,11 +2,7 @@ from django import forms
|
|||||||
from django.forms.widgets import RadioSelect, Textarea
|
from django.forms.widgets import RadioSelect, Textarea
|
||||||
from django.contrib.admin.widgets import FilteredSelectMultiple
|
from django.contrib.admin.widgets import FilteredSelectMultiple
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.db import transaction
|
|
||||||
|
|
||||||
from django.forms.models import inlineformset_factory
|
from django.forms.models import inlineformset_factory
|
||||||
|
|
||||||
from accounts.models import User
|
|
||||||
from .models import Question, Quiz, MCQuestion, Choice
|
from .models import Question, Quiz, MCQuestion, Choice
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ from django.dispatch import receiver
|
|||||||
from model_utils.managers import InheritanceManager
|
from model_utils.managers import InheritanceManager
|
||||||
|
|
||||||
from course.models import Course
|
from course.models import Course
|
||||||
from .utils import unique_slug_generator
|
from core.utils import unique_slug_generator
|
||||||
|
|
||||||
CHOICE_ORDER_OPTIONS = (
|
CHOICE_ORDER_OPTIONS = (
|
||||||
("content", _("Content")),
|
("content", _("Content")),
|
||||||
|
|||||||
@ -1,30 +0,0 @@
|
|||||||
import datetime
|
|
||||||
import os
|
|
||||||
import random
|
|
||||||
import string
|
|
||||||
|
|
||||||
from django.utils.text import slugify
|
|
||||||
|
|
||||||
|
|
||||||
def random_string_generator(size=10, chars=string.ascii_lowercase + string.digits):
|
|
||||||
return "".join(random.choice(chars) for _ in range(size))
|
|
||||||
|
|
||||||
|
|
||||||
def unique_slug_generator(instance, new_slug=None):
|
|
||||||
"""
|
|
||||||
This is for a Django project and it assumes your instance
|
|
||||||
has a model with a slug field and a title character (char) field.
|
|
||||||
"""
|
|
||||||
if new_slug is not None:
|
|
||||||
slug = new_slug
|
|
||||||
else:
|
|
||||||
slug = slugify(instance.title)
|
|
||||||
|
|
||||||
Klass = instance.__class__
|
|
||||||
qs_exists = Klass.objects.filter(slug=slug).exists()
|
|
||||||
if qs_exists:
|
|
||||||
new_slug = "{slug}-{randstr}".format(
|
|
||||||
slug=slug, randstr=random_string_generator(size=4)
|
|
||||||
)
|
|
||||||
return unique_slug_generator(instance, new_slug=new_slug)
|
|
||||||
return slug
|
|
||||||
@ -1,4 +1,5 @@
|
|||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
from django.conf import settings
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
@ -7,34 +8,6 @@ from accounts.models import Student
|
|||||||
from core.models import Semester
|
from core.models import Semester
|
||||||
from course.models import Course
|
from course.models import Course
|
||||||
|
|
||||||
# Constants
|
|
||||||
YEARS = (
|
|
||||||
(1, "1"),
|
|
||||||
(2, "2"),
|
|
||||||
(3, "3"),
|
|
||||||
(4, "4"),
|
|
||||||
(5, "5"),
|
|
||||||
(6, "6"),
|
|
||||||
)
|
|
||||||
|
|
||||||
BACHELOR_DEGREE = "Bachelor"
|
|
||||||
MASTER_DEGREE = "Master"
|
|
||||||
|
|
||||||
LEVEL_CHOICES = (
|
|
||||||
(BACHELOR_DEGREE, "Bachelor Degree"),
|
|
||||||
(MASTER_DEGREE, "Master Degree"),
|
|
||||||
)
|
|
||||||
|
|
||||||
FIRST = "First"
|
|
||||||
SECOND = "Second"
|
|
||||||
THIRD = "Third"
|
|
||||||
|
|
||||||
SEMESTER_CHOICES = (
|
|
||||||
(FIRST, "First"),
|
|
||||||
(SECOND, "Second"),
|
|
||||||
(THIRD, "Third"),
|
|
||||||
)
|
|
||||||
|
|
||||||
A_PLUS = "A+"
|
A_PLUS = "A+"
|
||||||
A = "A"
|
A = "A"
|
||||||
A_MINUS = "A-"
|
A_MINUS = "A-"
|
||||||
@ -208,9 +181,9 @@ class Result(models.Model):
|
|||||||
student = models.ForeignKey(Student, on_delete=models.CASCADE)
|
student = models.ForeignKey(Student, on_delete=models.CASCADE)
|
||||||
gpa = models.FloatField(null=True)
|
gpa = models.FloatField(null=True)
|
||||||
cgpa = models.FloatField(null=True)
|
cgpa = models.FloatField(null=True)
|
||||||
semester = models.CharField(max_length=100, choices=SEMESTER_CHOICES)
|
semester = models.CharField(max_length=100, choices=settings.SEMESTER_CHOICES)
|
||||||
session = models.CharField(max_length=100, blank=True, null=True)
|
session = models.CharField(max_length=100, blank=True, null=True)
|
||||||
level = models.CharField(max_length=25, choices=LEVEL_CHOICES, null=True)
|
level = models.CharField(max_length=25, choices=settings.LEVEL_CHOICES, null=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"Result for {self.student} - Semester: {self.semester}, Level: {self.level}"
|
return f"Result for {self.student} - Semester: {self.semester}, Level: {self.level}"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user