From: Jan Szejko 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 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: