From 000e4c425eb0f65533002e29e5b1b6ae1e60a77f Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Tue, 21 Nov 2017 12:38:12 +0100 Subject: [PATCH 1/1] generate keys --- .../management/commands/wlem_generate_keys.py | 1 + .../management/commands/wtem_generate_keys.py | 31 +++++++------------ wtem/management/commands/wtem_send_keys.py | 3 +- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/wtem/management/commands/wlem_generate_keys.py b/wtem/management/commands/wlem_generate_keys.py index 1e7f558..468641f 100644 --- a/wtem/management/commands/wlem_generate_keys.py +++ b/wtem/management/commands/wlem_generate_keys.py @@ -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 diff --git a/wtem/management/commands/wtem_generate_keys.py b/wtem/management/commands/wtem_generate_keys.py index 0e51e01..1496c7b 100644 --- a/wtem/management/commands/wtem_generate_keys.py +++ b/wtem/management/commands/wtem_generate_keys.py @@ -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)) diff --git a/wtem/management/commands/wtem_send_keys.py b/wtem/management/commands/wtem_send_keys.py index 9d14a26..4a1760c 100644 --- a/wtem/management/commands/wtem_send_keys.py +++ b/wtem/management/commands/wtem_send_keys.py @@ -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() -- 2.20.1