From: Jan Szejko <janek37@gmail.com>
Date: Wed, 25 Jan 2017 14:39:11 +0000 (+0100)
Subject: attachments by slugs
X-Git-Url: https://git.mdrn.pl/edumed.git/commitdiff_plain/045df7c750b525bc5efab353bee21bbe9eac9b4e?ds=inline

attachments by slugs
---

diff --git a/catalogue/management/commands/republish.py b/catalogue/management/commands/republish.py
index 63e072d..5c3b429 100644
--- a/catalogue/management/commands/republish.py
+++ b/catalogue/management/commands/republish.py
@@ -12,20 +12,14 @@ class Command(BaseCommand):
         from catalogue.models import Lesson
         from curriculum.models import Level
 
-        from catalogue.management.commands.importlessons import Command
-        from django.conf import settings
-        import os.path
-
-        attachments = Command.all_attachments(os.path.join(settings.MEDIA_ROOT, 'catalogue', 'attachments'))
-
         for lesson in Lesson.objects.all():
             print
             print 'Republishing: %s' % lesson.slug
-            try:
-                lesson.republish(repackage_level=False)
-            except BaseException as e:
-                print '!!!!!! EXCEPTION !!!!!!'
-                print e
+            # try:
+            lesson.republish(repackage_level=False)
+            # except BaseException as e:
+            #     print '!!!!!! EXCEPTION !!!!!!'
+            #     print e
 
         print 'Rebuilding levels...'
         for level in Level.objects.all():
diff --git a/catalogue/models.py b/catalogue/models.py
index 45284cb..6a3bbb7 100644
--- a/catalogue/models.py
+++ b/catalogue/models.py
@@ -155,13 +155,13 @@ class Lesson(models.Model):
     def republish(self, repackage_level=True, attachments=None):
         from librarian import IOFile
         import os.path
+        from django.conf import settings
         if attachments is None:
             attachments = {}
             for attachment in self.attachment_set.all():
-                f = IOFile.from_filename(attachment.file.name)
-                name = os.path.basename(attachment.file.name)
-                attachments[name.decode('utf-8')] = f
-                attachments.setdefault(name.replace(" ", "").decode('utf-8'), f)
+                full_name = os.path.join(settings.MEDIA_ROOT, attachment.file.name)
+                f = IOFile.from_filename(full_name)
+                attachments[attachment.slug] = f
         infile = IOFile.from_filename(self.xml_file.path, attachments=attachments)
         Lesson.publish(infile)
         if repackage_level: