From abc6dfa6547ff41fa1e69de4ce62fb1cf482652d Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Sun, 20 Jul 2014 15:39:25 +0200 Subject: [PATCH] fix script submit --- teleforma/exam/models.py | 28 +++++++++++++------ .../commands/teleforma-exam-submit-scripts.py | 20 ++++++------- 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/teleforma/exam/models.py b/teleforma/exam/models.py index e154b6b8..cc8cfa13 100644 --- a/teleforma/exam/models.py +++ b/teleforma/exam/models.py @@ -305,17 +305,31 @@ class Script(BaseResource): def submit(self): self.date_submitted = datetime.datetime.now() - # self.url = 'http://teleforma.parisson.com/media/scripts/2014/06/24/Gstreamer_monitoring_Pipleline.pdf' - self.url = settings.MEDIA_URL + unicode(self.file) + if not self.file: + self.reject_reason = 'no file' + self.status = 0 + self.corrector = User.objects.filter(is_superuser=True)[0] + self.save() + return + + if not os.path.exists(self.file.path): + self.reject_reason = 'file not found' + self.status = 0 + self.corrector = User.objects.filter(is_superuser=True)[0] + self.save() + return if not ('.pdf' in self.file.path or '.PDF' in self.file.path): self.reject_reason = 'wrong format' self.status = 0 self.corrector = User.objects.filter(is_superuser=True)[0] + self.save() + return - self.save() - - if not self.box_uuid and not self.status == 0: + if not self.box_uuid and not self.status == 0 and self.file: + self.fix_filename() + # self.url = 'http://teleforma.parisson.com/media/scripts/2014/06/24/Gstreamer_monitoring_Pipleline.pdf' + self.url = settings.MEDIA_URL + unicode(self.file) self.box_uuid = crocodoc.document.upload(url=self.url) i = 0 @@ -350,9 +364,7 @@ class Script(BaseResource): if not self.corrector and t == 1: self.auto_set_corrector() self.status = 3 - - self.save() - + self.save() def mark(self): self.date_marked = datetime.datetime.now() diff --git a/teleforma/management/commands/teleforma-exam-submit-scripts.py b/teleforma/management/commands/teleforma-exam-submit-scripts.py index e4b62bb8..47d610fd 100644 --- a/teleforma/management/commands/teleforma-exam-submit-scripts.py +++ b/teleforma/management/commands/teleforma-exam-submit-scripts.py @@ -32,15 +32,13 @@ class Command(BaseCommand): logger = Logger(args[0]) for script in Script.objects.filter(status=2): logger.logger.info(script.title) - if script.file: - if os.path.exists(script.file.path): - script.fix_filename() - try: - script.submit() - except: - logger.logger.error('ERROR') - logger.logger.info('OK') - time.sleep(30) - else: - logger.logger.error('No file!') + if not script.file: + logger.logger.error('No file!') + try: + script.submit() + except: + logger.logger.error('ERROR') + + logger.logger.info(script.status) + time.sleep(30) -- 2.39.5