]> git.parisson.com Git - teleforma.git/commitdiff
slugify script filename
authorGuillaume Pellerin <yomguy@parisson.com>
Fri, 18 Jul 2014 09:56:02 +0000 (11:56 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Fri, 18 Jul 2014 09:56:02 +0000 (11:56 +0200)
teleforma/exam/models.py
teleforma/management/commands/teleforma-exam-submit-scripts.py

index 867488346bf843cac8405c1771e73947bbeb4d8b..a6e399b40d5ce2b90adf618ac0f69575dd13f31a 100644 (file)
@@ -277,13 +277,21 @@ class Script(BaseResource):
         super(Script, self).save(*args, **kwargs)
 
     def fix_filename(self):
-        old = self.file.path
-        old_list = old.split(os.sep)
-        path = old_list[:-1]
-        filename, ext = os.path.splitext(old_list[-1])
-        new = os.sep.join(path) + os.sep + slugify(filename) + ext
-        os.rename(old, new)
-        self.file.path = new
+        old_abs = self.file.path
+        old_abs_list = old_abs.split(os.sep)
+        old_abs_root = old_abs_list[:-1]
+
+        old_rel = unicode(self.file)
+        old_rel_list = old_rel.split(os.sep)
+        old_rel_root = old_rel_list[:-1]
+
+        filename, ext = os.path.splitext(old_abs_list[-1])
+
+        new_abs = os.sep.join(old_abs_root) + os.sep + slugify(filename) + ext
+        new_rel = os.sep.join(old_rel_root) + os.sep + slugify(filename) + ext
+
+        os.rename(old_abs, new_abs)
+        self.file = new_rel
         self.save()
 
     def submit(self):
index 0c171e8c61e8b456a1501d8fa2c9e5520533c420..faa5ac057d6c375ebc9c384624bf3da250f16417 100644 (file)
@@ -33,6 +33,9 @@ class Command(BaseCommand):
        for script in Script.objects.filter(status=2):
                script.fix_filename()
                logger.logger.info(script.title)
-               script.submit()
+               try:
+                       script.submit()
+               except:
+                       logger.logger.error('ERROR')
                logger.logger.info('OK')
                time.sleep(10)