X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/84ffd6f6aeef8c7898dfa9d9d97aa323647172b7..05333a6f2d2ea77a602612c3aaff039dc7b97200:/catalogue/models.py?ds=sidebyside diff --git a/catalogue/models.py b/catalogue/models.py index 46338c4..ee0222c 100644 --- a/catalogue/models.py +++ b/catalogue/models.py @@ -35,7 +35,7 @@ class Section(models.Model): lessons = [Lesson.objects.get(slug=part.slug) for part in wldoc.book_info.parts] except Lesson.DoesNotExist, e: - raise cls.IncompleteError(e) + raise cls.IncompleteError(part.slug) slug = wldoc.book_info.url.slug try: @@ -148,17 +148,22 @@ class Lesson(models.Model): self.html_file.save("%s.html" % self.slug, File(open(html.get_filename()))) + def add_to_zip(self, zipf, student=False, prefix=''): + zipf.write(self.xml_file.path, + "%spliki-zrodlowe/%s.xml" % (prefix, self.slug)) + pdf = self.student_pdf if student else self.pdf + if pdf: + zipf.write(self.xml_file.path, + "%s%s%s.pdf" % (prefix, self.slug, "_student" if student else "")) + + def build_package(self, student=False): from StringIO import StringIO import zipfile from django.core.files.base import ContentFile buff = StringIO() zipf = zipfile.ZipFile(buff, 'w', zipfile.ZIP_STORED) - zipf.write(self.xml_file.path, "pliki-zrodlowe/%s.xml" % self.slug) - pdf = self.student_pdf if student else self.pdf - if pdf: - zipf.write(self.xml_file.path, - "%s%s.pdf" % (self.slug, "_student" if student else "")) + self.add_to_zip(zipf, student) zipf.close() fieldname = "student_package" if student else "package" getattr(self, fieldname).save(