Skip to content

Commit

Permalink
Refactor/minor code cleanup (#884)
Browse files Browse the repository at this point in the history
* Prefix unused variable names with underscore, remove redundant parenthesis, split long lines into several, rename functions to snake_case,

Signed-off-by: Tmpecho <[email protected]>

* Update CHANGELOG.md

Signed-off-by: Tmpecho <[email protected]>

* Make constant uppercase

Signed-off-by: Tmpecho <[email protected]>

* Empty-Commit

---------

Signed-off-by: Tmpecho <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>
  • Loading branch information
Tmpecho and MadsNyl authored Oct 28, 2024
1 parent 02bb209 commit e690181
Show file tree
Hide file tree
Showing 59 changed files with 158 additions and 154 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
---

## Neste versjon
- 🎨**Overordnet**. Endret variabel og funksjonsnavn til å følge konvensjoner og andre små endringer.
-**Filtrering**. Admin kan nå filtere deltakere av et arrangement på studie, studieår, om deltakere har allergier, (om deltakere godtar å bli tatt bilde av, om deltakere har ankommet), i tillegg til søk på fornavn og etternavn.

## Versjon 2024.10.11
Expand Down
1 change: 1 addition & 0 deletions app/authentication/serializers/change_password.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ class ChangePasswordSerializer(serializers.Serializer):
set_password_form_class = SetPasswordForm

def __init__(self, *args, **kwargs):
self.set_password_form = None
self.old_password_field_enabled = getattr(
settings, "OLD_PASSWORD_FIELD_ENABLED", True
)
Expand Down
5 changes: 5 additions & 0 deletions app/authentication/serializers/reset_password.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from django.contrib.auth.forms import PasswordResetForm
from rest_framework import serializers
from rest_framework.fields import empty

from sentry_sdk import capture_exception

Expand All @@ -16,6 +17,10 @@ class PasswordResetSerializer(serializers.Serializer):
email = serializers.EmailField()
password_reset_form_class = PasswordResetForm

def __init__(self, instance=None, data=empty, **kwargs):
super().__init__(instance, data, kwargs)
self.reset_form = None

def validate_email(self, value):
# Create PasswordResetForm with the serializer
try:
Expand Down
10 changes: 5 additions & 5 deletions app/badge/filters/badge.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@ class UserWithBadgesFilter(FilterSet):
queryset=BadgeCategory.objects.all(),
)

def filter_category(self, queryset, name, value):
def filter_category(self, queryset, _name, value):
return queryset.filter(user_badges__badge__badge_category=value)

def filter_is_in_study(self, queryset, name, value):
def filter_is_in_study(self, queryset, _name, value):
return queryset.filter(
memberships__group__slug=value, memberships__group__type=GroupType.STUDY
)

def filter_is_in_studyyear(self, queryset, name, value):
def filter_is_in_studyyear(self, queryset, _name, value):
return queryset.filter(
memberships__group__slug=value, memberships__group__type=GroupType.STUDYYEAR
)
Expand All @@ -49,7 +49,7 @@ class UserWithSpecificBadgeFilter(FilterSet):
study = filters.NumberFilter(method="filter_study")
studyyear = filters.NumberFilter(method="filter_studyyear")

def filter_study(self, queryset, name, value):
def filter_study(self, queryset, _name, value):
return queryset.filter(
Exists(
Membership.objects.filter(
Expand All @@ -60,7 +60,7 @@ def filter_study(self, queryset, name, value):
)
)

def filter_studyyear(self, queryset, name, value):
def filter_studyyear(self, queryset, _name, value):
return queryset.filter(
Exists(
Membership.objects.filter(
Expand Down
4 changes: 2 additions & 2 deletions app/career/filters/job_post.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ class Meta:
model: JobPost
fields = ["expired", "job_type"]

def filter_expired(self, queryset, name, value):
def filter_expired(self, queryset, _name, value):
if value:
return queryset.filter(deadline__lt=yesterday()).order_by("-deadline")
return queryset.filter(deadline__gte=yesterday()).order_by("deadline")

def filter_classes(self, queryset, name, value):
def filter_classes(self, queryset, _name, value):
query = Q()
for year in value:
query |= Q(class_start__lte=year, class_end__gte=year)
Expand Down
2 changes: 1 addition & 1 deletion app/career/views/weekly_business.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def get_queryset(self):
in_future_this_year_filter = Q(year=now().year) & Q(week__gte=week_nr(now()))
next_year_filter = Q(year__gt=now().year)
return WeeklyBusiness.objects.filter(
(in_future_this_year_filter) | next_year_filter
in_future_this_year_filter | next_year_filter
).order_by("year", "week")

def list(self, request, *args, **kwargs):
Expand Down
22 changes: 11 additions & 11 deletions app/common/azure_file_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def __init__(self, blob=None, url=None):
self.blob = blob
self.url = url
if url:
data = self.getContainerAndNameFromUrl()
data = self.get_container_and_name_from_url()
self.containerName = data[0]
self.blobName = data[1]

Expand All @@ -29,24 +29,24 @@ def get_or_create_container(self, name="default"):
container = blob_service_client.create_container(name, public_access="blob")
return container

def getContainerAndNameFromUrl(self):
def get_container_and_name_from_url(self):
import urllib.parse

url = urllib.parse.unquote(self.url)
# fmt: off
return re.sub("\w+:\/{2}[\d\w-]+(\.[\d\w-]+)*/", "", url).split("/") # noqa: W605
return re.sub("\w+:/{2}[\d\w-]+(\.[\d\w-]+)*/", "", url).split("/") # noqa: W605
# fmt: on

def uploadBlob(self):
"Uploads the given blob to Azure and returns a url to the blob"
def upload_blob(self):
"""Uploads the given blob to Azure and returns a url to the blob"""
if not self.blob:
raise ValueError("Du må sende med en blob for som skal lastes opp")

self.checkBlobSize()
containerName = self.getContainerNameFromBlob()
container = self.get_or_create_container(containerName)
self.check_blob_size()
container_name = self.get_container_name_from_blob()
container = self.get_or_create_container(container_name)

blob_name = f"{uuid.uuid4()}{self.getBlobName()}"
blob_name = f"{uuid.uuid4()}{self.get_blob_name()}"

content_settings = ContentSettings(
content_type=self.blob.content_type if self.blob.content_type else None,
Expand All @@ -62,8 +62,8 @@ def uploadBlob(self):
return blob_client.url
raise ValueError("Noe gikk galt under filopplastningen")

def deleteBlob(self):
"Delete a blob by it's url"
def delete_blob(self):
"""Delete a blob by it's url"""
if not self.blobName and not self.containerName:
raise ValueError("Du kan ikke slette en blob uten en url")

Expand Down
4 changes: 2 additions & 2 deletions app/common/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ class AdminGroup(models.TextChoices):

@classmethod
def all(cls):
return (cls.HS, cls.INDEX, cls.NOK, cls.PROMO, cls.SOSIALEN, cls.KOK)
return cls.HS, cls.INDEX, cls.NOK, cls.PROMO, cls.SOSIALEN, cls.KOK

@classmethod
def admin(cls):
return (cls.HS, cls.INDEX)
return cls.HS, cls.INDEX


class Groups(models.TextChoices):
Expand Down
10 changes: 5 additions & 5 deletions app/common/file_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,22 @@ def __init__(self, blob=None):
def get_or_create_container(self, name="default"):
pass

def getBlobName(self):
def get_blob_name(self):
return self.blob.name if self.blob.name else ""

def getContainerNameFromBlob(self):
def get_container_name_from_blob(self):
return (
"".join(e for e in self.blob.content_type if e.isalnum())
if self.blob.content_type
else "default"
)

def checkBlobSize(self):
def check_blob_size(self):
if self.blob.size > self.SIZE_50_MB:
raise ValueError("Filen kan ikke være større enn 50 MB")

@abstractmethod
def uploadBlob(self):
def upload_blob(self):
pass


Expand All @@ -43,6 +43,6 @@ def replace_file(instance_image, validated_data_image):
if instance_image and instance_image != validated_data_image:
if settings.AZURE_BLOB_STORAGE_NAME in instance_image:
try:
AzureFileHandler(url=instance_image).deleteBlob()
AzureFileHandler(url=instance_image).delete_blob()
except Exception as e:
capture_exception(e)
2 changes: 1 addition & 1 deletion app/common/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@


@app.task(bind=True, base=BaseTask)
def delete_old_log_entries(self, *args, **kwargs):
def delete_old_log_entries(self, *_args, **_kwargs):
from datetime import timedelta

from django.contrib.admin.models import LogEntry
Expand Down
2 changes: 1 addition & 1 deletion app/common/tests/test_azure_filehandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ def test_get_getContainerAndNameFromUrl():
handler = AzureFileHandler(
url=f"https://{settings.AZURE_BLOB_STORAGE_NAME}/{container_name}/{file_name}"
)
data = handler.getContainerAndNameFromUrl()
data = handler.get_container_and_name_from_url()
assert data[0] == container_name
assert data[1] == file_name
2 changes: 1 addition & 1 deletion app/communication/factories/mail_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class Meta:
body = factory.Faker("paragraph", nb_sentences=10)

@factory.post_generation
def users(self, create, extracted, **kwargs):
def users(self, create, extracted, **_kwargs):
"""Add users to the mail: `MailFactory.create(users=(user1, user2, user3))`"""
if not create or not extracted:
# Simple build, or nothing to add, do nothing.
Expand Down
2 changes: 1 addition & 1 deletion app/communication/models/banner.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,5 @@ def is_visible(self):
return self.visible_from <= now() <= self.visible_until

@classmethod
def has_visible_permission(cls, request):
def has_visible_permission(cls, _request):
return True
5 changes: 3 additions & 2 deletions app/communication/models/mail.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class Meta:
def send(self, connection):
from app.communication.notifier import send_html_email

emails = (user.email for user in self.users.all())
emails = [user.email for user in self.users.all()]
is_success = send_html_email(
to_mails=emails,
html=self.body,
Expand All @@ -40,4 +40,5 @@ def send(self, connection):
return is_success

def __str__(self):
return f"\"{self.subject}\", to {self.users.all()[0] if self.users.count() == 1 else f'{self.users.count()} users'}, {'sent' if self.sent else 'eta'} {self.eta}"
return (f"\"{self.subject}\", to {self.users.all()[0] if self.users.count() == 1 else f'{self.users.count()} users'}, "
f"{'sent' if self.sent else 'eta'} {self.eta}")
2 changes: 1 addition & 1 deletion app/communication/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@


@app.task(bind=True, base=BaseTask)
def send_due_mails(self, *args, **kwargs):
def send_due_mails(self, *_args, **_kwargs):
from django.core.mail import get_connection

from app.communication.models.mail import Mail
Expand Down
6 changes: 3 additions & 3 deletions app/communication/tests/test_banner_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
DatesMixedError,
)
from app.communication.factories.banner_factory import BannerFactory
from app.util.utils import getTimezone, now
from app.util.utils import get_timezone, now


@pytest.mark.parametrize(
Expand All @@ -27,8 +27,8 @@ def test_two_banners_can_not_be_visible_simultaneously_in_any_period(
This test uses timedelta and parameterize to switch visible_from
and visible_until between 5 days earlier or later."""
existing_banner = BannerFactory(
visible_from=datetime(2020, 1, 1, tzinfo=getTimezone()),
visible_until=datetime(2021, 1, 1, tzinfo=getTimezone()),
visible_from=datetime(2020, 1, 1, tzinfo=get_timezone()),
visible_until=datetime(2021, 1, 1, tzinfo=get_timezone()),
)

with pytest.raises(AnotherVisibleBannerError):
Expand Down
4 changes: 2 additions & 2 deletions app/communication/views/banner.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ class Meta:
model = Banner
fields = ["is_visible", "is_expired"]

def filter_is_visible(self, queryset, name, value):
def filter_is_visible(self, queryset, _name, value):
if value:
return queryset.filter(visible_from__lte=now(), visible_until__gte=now())
return queryset

def filter_is_expired(self, queryset, name, value):
def filter_is_expired(self, queryset, _name, value):
if value:
return queryset.filter(visible_until__lt=now())
return queryset
Expand Down
2 changes: 1 addition & 1 deletion app/communication/views/notification.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@ def update(self, request, pk):
status=status.HTTP_200_OK,
)
return Response(
{"detail": ("Kunne ikke oppdatere varslet")},
{"detail": "Kunne ikke oppdatere varslet"},
status=status.HTTP_403_FORBIDDEN,
)
2 changes: 1 addition & 1 deletion app/communication/views/user_notification_setting.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ def create(self, request, *args, **kwargs):
)

@action(detail=False, methods=["get"], url_path="choices")
def choices(self, request, *args, **kwargs):
def choices(self, _request, *_args, **_kwargs):
return Response(
list(
map(
Expand Down
2 changes: 1 addition & 1 deletion app/content/admin/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class StrikeAdmin(admin.ModelAdmin):
)


def admin_delete_registration(modeladmin, request, queryset):
def admin_delete_registration(_modeladmin, _request, queryset):
for registration in queryset:
registration.admin_unregister()

Expand Down
2 changes: 1 addition & 1 deletion app/content/factories/priority_pool_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class Meta:
event = factory.SubFactory(EventFactory)

@factory.post_generation
def groups(self, create, extracted, **kwargs):
def groups(self, create, extracted, **_kwargs):
if not create or not extracted:
# Simple build, do nothing.
return
Expand Down
4 changes: 2 additions & 2 deletions app/content/filters/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class Meta:
model = Event
fields = ["category", "organizer", "end_range", "start_range"]

def filter_open_for_sign_up(self, queryset, name, value):
def filter_open_for_sign_up(self, queryset, _name, value):
if value:
return queryset.filter(
sign_up=True,
Expand All @@ -35,7 +35,7 @@ def filter_open_for_sign_up(self, queryset, name, value):
)
return queryset

def filter_user_favorites(self, queryset, name, value):
def filter_user_favorites(self, queryset, _name, value):
if value and self.request.user:
return queryset.filter(favorite_users__user_id=self.request.user.user_id)
return queryset
4 changes: 2 additions & 2 deletions app/content/filters/strike.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class StrikeFilter(FilterSet):
study = filters.NumberFilter(method="filter_study")
studyyear = filters.NumberFilter(method="filter_studyyear")

def filter_study(self, queryset, name, value):
def filter_study(self, queryset, _name, value):
return queryset.filter(
Exists(
Membership.objects.filter(
Expand All @@ -22,7 +22,7 @@ def filter_study(self, queryset, name, value):
)
)

def filter_studyyear(self, queryset, name, value):
def filter_studyyear(self, queryset, _name, value):
return queryset.filter(
Exists(
Membership.objects.filter(
Expand Down
12 changes: 6 additions & 6 deletions app/content/filters/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,28 +35,28 @@ class Meta:
"in_group",
]

def filter_is_in_study(self, queryset, name, value):
def filter_is_in_study(self, queryset, _name, value):
return queryset.filter(
memberships__group__slug=value, memberships__group__type=GroupType.STUDY
)

def filter_is_in_studyyear(self, queryset, name, value):
def filter_is_in_studyyear(self, queryset, _name, value):
return queryset.filter(
memberships__group__slug=value, memberships__group__type=GroupType.STUDYYEAR
)

def filter_is_in_group(self, queryset, name, value):
def filter_is_in_group(self, queryset, _name, value):
return queryset.filter(memberships__group__slug=value)

def filter_is_TIHLDE_member(self, queryset, name, value):
def filter_is_TIHLDE_member(self, queryset, _name, value):
if value is False:
return queryset.exclude(memberships__group__slug=Groups.TIHLDE)
return queryset.filter(memberships__group__slug=Groups.TIHLDE)

def filter_has_active_strikes(self, queryset, name, value):
def filter_has_active_strikes(self, queryset, _name, value):
if value is False:
return queryset.exclude(strikes__in=Strike.objects.active()).distinct()
return queryset.filter(strikes__in=Strike.objects.active()).distinct()

def filter_has_allowed_photo(self, queryset, name, value):
def filter_has_allowed_photo(self, queryset, _name, value):
return queryset.filter(allows_photo_by_default=value)
Loading

0 comments on commit e690181

Please sign in to comment.