]> git.parisson.com Git - teleforma.git/commitdiff
fix script submit
authorGuillaume Pellerin <yomguy@parisson.com>
Sun, 20 Jul 2014 13:39:25 +0000 (15:39 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Sun, 20 Jul 2014 13:39:25 +0000 (15:39 +0200)
teleforma/exam/models.py
teleforma/management/commands/teleforma-exam-submit-scripts.py

index e154b6b829a27ab389b89cdbfaaa0f8957df756c..cc8cfa1384d63fc00c31afeed90d98aaefb20cdc 100644 (file)
@@ -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()
index e4b62bb82481ac9170cb4af3a5b690992ef8749b..47d610fda622173dff80aaefbac1f7039bcbe0fd 100644 (file)
@@ -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)