X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/049c5959e33d29e4c0044c235d291144d49d3c45..4e8fc8e3b409859927393db2e40877df3e74208f:/src/sources/models.py?ds=inline diff --git a/src/sources/models.py b/src/sources/models.py index 165cb67b..dd521da0 100644 --- a/src/sources/models.py +++ b/src/sources/models.py @@ -67,6 +67,7 @@ class Source(models.Model): return os.path.isdir(d) and os.listdir(d) def process(self): + processed_at = now() updir = os.path.join( settings.MEDIA_ROOT, self.get_upload_directory() @@ -83,7 +84,7 @@ class Source(models.Model): self.build_view_directory(updir, d) with utils.replace_dir(ocr_dir) as d: self.build_ocr_directory(updir, d) - self.processed_at = now() + self.processed_at = processed_at self.save(update_fields=['processed_at']) def build_view_directory(self, srcpath, targetpath): @@ -118,11 +119,12 @@ class Source(models.Model): class BookSource(models.Model): book = models.ForeignKey('catalogue.Book', models.CASCADE) source = models.ForeignKey(Source, models.CASCADE) + ordering = models.IntegerField(default=1) page_start = models.IntegerField(null=True, blank=True) page_end = models.IntegerField(null=True, blank=True) class Meta: - ordering = ('page_start',) + ordering = ('ordering', 'page_start',) def __str__(self): return f'{self.source} -> {self.book}' @@ -150,16 +152,17 @@ class BookSource(models.Model): def get_document(self): return self.book.document_books.first() - - def prepare_document(self, user=None): + + @classmethod + def prepare_document(cls, book, user=None): DBook = apps.get_model('documents', 'Book') - texts = document.build_document_texts(self) + texts = document.build_document_texts(book) - dbook = self.get_document() + dbook = book.document_books.first() if dbook is None: dbook = DBook.create( user, texts[0], - title=self.book.title, + title=book.title, slug=str(uuid.uuid4()), ) else: