]> git.parisson.com Git - teleforma.git/commitdiff
add command for submit all scripts
authorGuillaume Pellerin <yomguy@parisson.com>
Wed, 2 Jul 2014 09:03:32 +0000 (11:03 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Wed, 2 Jul 2014 09:03:32 +0000 (11:03 +0200)
teleforma/exam/models.py
teleforma/management/commands/teleforma-exam-submit-scripts.py [new file with mode: 0644]

index 98b8e10944aaaf33bc6edc5fc2899f83a882ccdd..f062af4d55b9565b049f76b403f34db4ea9fc772 100644 (file)
@@ -281,10 +281,22 @@ class Script(BaseResource):
     def submit(self):
         self.date_submitted = datetime.datetime.now()
         self.url = settings.MEDIA_URL + unicode(self.file)
-        try:
-            self.box_uuid = crocodoc.document.upload(url=self.url)
-        except:
-            pass
+        self.box_uuid = crocodoc.document.upload(url=self.url)
+        while True:
+            statuses = crocodoc.document.status([self.box_uuid,])
+            if (len(statuses) != 0):
+                if (statuses[0].get('error') == None):
+                    if statuses[0]['status'] == 'DONE':
+                        break
+                    else:
+                        time.sleep(1)
+                else:
+                    print '  File #1 failed :('
+                    print '  Error Message: ' + statuses[0]['error']
+            else:
+                print 'failed :('
+                print '  Statuses were not returned.'
+
         if not self.corrector:
             self.auto_set_corrector()
 
diff --git a/teleforma/management/commands/teleforma-exam-submit-scripts.py b/teleforma/management/commands/teleforma-exam-submit-scripts.py
new file mode 100644 (file)
index 0000000..1d752cb
--- /dev/null
@@ -0,0 +1,19 @@
+from optparse import make_option
+from django.conf import settings
+from django.core.management.base import BaseCommand, CommandError
+from django.contrib.auth.models import User
+from django.template.defaultfilters import slugify
+from telemeta.models import *
+from telemeta.util.unaccent import unaccent
+from teleforma.exam.models import *
+import logging
+import codecs
+
+
+class Command(BaseCommand):
+    help = "submit all script to Box View"
+
+    def handle(self, *args, **options):
+       for script in Script.bojects.all()
+               script.submit()
+               script.save()
\ No newline at end of file