+# -*- 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):
"""
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
m = not always and re.match(r"^([0-9])-", name)
return "%1d-%s" % (prefix, m and name[2:] or name)
+ @property
+ def was_merged(self):
+ """Check if we have gallery size recorded"""
+ return self.dest_size is not None
+
def merge(self):
if not self.dest:
return self.src
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]),
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
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])
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,
+ )