generate keys
authorJan Szejko <janek37@gmail.com>
Tue, 21 Nov 2017 11:38:12 +0000 (12:38 +0100)
committerJan Szejko <janek37@gmail.com>
Tue, 21 Nov 2017 11:38:12 +0000 (12:38 +0100)
wtem/management/commands/wlem_generate_keys.py
wtem/management/commands/wtem_generate_keys.py
wtem/management/commands/wtem_send_keys.py

index 1e7f558..468641f 100644 (file)
@@ -8,6 +8,7 @@ from wtem.models import Submission
 class Command(BaseCommand):
 
     def handle(self, *ids, **options):
+        return  # typo would be disastrous
         new = 0
         skipped = 0
 
index 0e51e01..1496c7b 100644 (file)
@@ -1,31 +1,24 @@
 # -*- coding: utf-8 -*-
 from django.core.management.base import BaseCommand
 
-from contact.models import Contact
-from wtem.models import Submission
+from wtem.models import Submission, Confirmation
 
 
 class Command(BaseCommand):
 
-    def handle(self, *ids, **options):
+    def handle(self, **options):
         new = 0
         skipped = 0
 
-        query = Contact.objects.filter(form_tag='olimpiada').order_by('-created_at')
-        if ids:
-            query = query.filter(pk__in=ids)
-
-        for wtem_contact in query:
-            for student in wtem_contact.body['student']:
-                if not Submission.objects.filter(email=student['email']).exists():
-                    args = dict()
-                    for attr in ['first_name', 'last_name', 'email']:
-                        args[attr] = student[attr]
-                    args['contact'] = wtem_contact
-                    Submission.create(**args)
-                    new += 1
-                else:
-                    self.stdout.write('skipping ' + student['email'] + ': already exists.')
-                    skipped += 1
+        for confirmation in Confirmation.objects.all():
+            if not Submission.objects.filter(email=confirmation.email).exists():
+                args = {}
+                for attr in ['first_name', 'last_name', 'email', 'contact']:
+                    args[attr] = getattr(confirmation, attr)
+                Submission.create(**args)
+                new += 1
+            else:
+                self.stdout.write('skipping ' + confirmation.email + ': already exists.')
+                skipped += 1
 
         self.stdout.write('New: ' + str(new) + ', skipped: ' + str(skipped))
index 9d14a26..4a1760c 100644 (file)
@@ -36,7 +36,6 @@ class Command(BaseCommand):
 
     def send_keys(self, *args, **options):
         sent = 0
-        skipped = 0
         failed = 0
 
         submissions = Submission.objects.all()
@@ -52,7 +51,7 @@ class Command(BaseCommand):
                 self.send_key(submission)
             except Exception as e:
                 failed += 1
-                self.stdout.write('failed sending to: ' + submission.email + ' - ' + str(e))
+                self.stdout.write('failed sending to: ' + submission.email + ' - ' + repr(e))
             else:
                 submission.key_sent = True
                 submission.save()