소스 검색

refactor(): in chores, use method per chore

Peter Thomassen 5 년 전
부모
커밋
0d5ebe5ae5
1개의 변경된 파일11개의 추가작업 그리고 5개의 파일을 삭제
  1. 11 5
      api/desecapi/management/commands/chores.py

+ 11 - 5
api/desecapi/management/commands/chores.py

@@ -2,16 +2,22 @@ from django.conf import settings
 from django.core.management import BaseCommand
 from django.utils import timezone
 
-from desecapi.models import Captcha, User
+from desecapi import models
 
 
 class Command(BaseCommand):
 
-    def handle(self, *args, **kwargs):
-        # delete expired captchas
-        Captcha.objects.filter(created__lt=timezone.now() - settings.CAPTCHA_VALIDITY_PERIOD).delete()
+    @staticmethod
+    def delete_expired_captchas():
+        models.Captcha.objects.filter(created__lt=timezone.now() - settings.CAPTCHA_VALIDITY_PERIOD).delete()
 
+    @staticmethod
+    def delete_never_activated_users():
         # delete inactive users whose activation link expired and who never logged in
         # (this will not delete users who have used their account and were later disabled)
-        User.objects.filter(is_active=False, last_login__exact=None,
+        models.User.objects.filter(is_active=False, last_login__exact=None,
                             created__lt=timezone.now() - settings.VALIDITY_PERIOD_VERIFICATION_SIGNATURE).delete()
+
+    def handle(self, *args, **kwargs):
+        self.delete_expired_captchas()
+        self.delete_never_activated_users()