X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/bc7c43abe678f3289057c442c73ec15c326737cc..873c22275a94e60243469f1b7f0eedb7b2e76f39:/catalogue/management/commands/repackage.py diff --git a/catalogue/management/commands/repackage.py b/catalogue/management/commands/repackage.py index 47930ec..f3ae5e8 100755 --- a/catalogue/management/commands/repackage.py +++ b/catalogue/management/commands/repackage.py @@ -2,59 +2,15 @@ # This file is part of EduMed, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # -import os from optparse import make_option -from django.conf import settings from django.core.management.base import BaseCommand -from catalogue.models import Section -import zipfile class Command(BaseCommand): - option_list = BaseCommand.option_list + ( - make_option('-q', '--quiet', action='store_false', dest='verbose', default=True, - help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'), - ) help = 'Rebuilds downloadable packages.' - def build_package(self, zippath, student, verbose): - with open(zippath, 'w') as outf: - zipf = zipfile.ZipFile(outf, 'w', zipfile.ZIP_STORED) - - for si, section in enumerate(Section.objects.all()): - li = 1 - li_adv = 1 - for lesson in section.lesson_set.all(): - if lesson.type == 'course': - if lesson.level.slug == "liceum": - ind = li_adv - li_adv += 1 - postfix = " (zaawansowane)" - else: - ind = li - li += 1 - postfix = "" - prefix = "%d_%s%s/%02d_%s/" % ( - si, section.slug, postfix, - ind, - lesson.slug, - ) - li += 1 - elif lesson.type == 'synthetic': - prefix = "%d_%s%s/synteza_%s/" % ( - si, section.slug, postfix, lesson.slug) - else: - prefix = "%d_%s%s/%s/" % ( - si, section.slug, postfix, lesson.slug) - lesson.add_to_zip(zipf, student, prefix) - zipf.close() - def handle(self, **options): - verbose = options.get('verbose') + from curriculum.models import Level - self.build_package( - os.path.join(settings.MEDIA_ROOT, settings.CATALOGUE_PACKAGE), - False, verbose) - self.build_package( - os.path.join(settings.MEDIA_ROOT, settings.CATALOGUE_PACKAGE_STUDENT), - True, verbose) + for level in Level.objects.all(): + level.build_packages()