X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/8c43021c5d0731cf35203cb32bbc63c89271cbb5..3a13e3fe9e43c2c3bf721d1cbed7fa921eb23b92:/apps/catalogue/helpers.py diff --git a/apps/catalogue/helpers.py b/apps/catalogue/helpers.py index 7b1f44a4..e88c7e24 100644 --- a/apps/catalogue/helpers.py +++ b/apps/catalogue/helpers.py @@ -1,14 +1,17 @@ +# -*- coding: utf-8 -*- +# +# This file is part of MIL/PEER, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# from datetime import date from functools import wraps from os.path import join -from os import listdir, stat +from os import listdir from shutil import move, rmtree from django.conf import settings import re import filecmp -from django.db.models import Count - def active_tab(tab): """ @@ -46,8 +49,6 @@ def parse_isodate(isodate): class GalleryMerger(object): def __init__(self, dest_gallery, src_gallery): - assert isinstance(dest_gallery, str) - assert isinstance(src_gallery, str) self.dest = dest_gallery self.src = src_gallery self.dest_size = None @@ -72,7 +73,7 @@ class GalleryMerger(object): @property def was_merged(self): - "Check if we have gallery size recorded" + """Check if we have gallery size recorded""" return self.dest_size is not None def merge(self): @@ -82,12 +83,13 @@ class GalleryMerger(object): return self.dest files = listdir(self.path(self.dest)) + files.sort() self.dest_size = len(files) files_other = listdir(self.path(self.src)) + files_other.sort() self.src_size = len(files_other) if files and files_other: - print "compare %s with %s" % (files[-1], files_other[0]) if filecmp.cmp( join(self.path(self.dest), files[-1]), join(self.path(self.src), files_other[0]), @@ -106,7 +108,8 @@ class GalleryMerger(object): for f in files: p = self.get_prefix(f) if p: - if p > last_pfx: last_pfx = p + if p > last_pfx: + last_pfx = p else: files_prefixed = False break @@ -122,7 +125,7 @@ class GalleryMerger(object): for f in files_other: pfx = self.get_prefix(f) if pfx is not None: - if not pfx in prefixes: + if pfx not in prefixes: last_pfx += 1 prefixes[pfx] = last_pfx renamed_files_other[f] = self.set_prefix(f, prefixes[pfx]) @@ -137,14 +140,21 @@ class GalleryMerger(object): renamed_files_other[f] = self.set_prefix(f, 1, True) # finally, move / rename files. - from nose.tools import set_trace - # set_trace() for frm, to in renamed_files.items(): move(join(self.path(self.dest), frm), - join(self.path(self.dest), to)) + join(self.path(self.dest), to)) for frm, to in renamed_files_other.items(): move(join(self.path(self.src), frm), - join(self.path(self.dest), to)) + join(self.path(self.dest), to)) rmtree(join(self.path(self.src))) return self.dest + + +# Maybe subclass? +def sstdocument(text): + from librarian.document import Document + + return Document.from_string( + text, + )