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
self.gallery = gm.merge()
# and move the gallery starts
- num_files = gm.dest_size
- for chunk in self[len(self) - len_other:]:
- chunk.gallery_start += gm.dest_size - gm.num_deleted
- chunk.save()
+ if gm.was_merged:
+ for chunk in self[len(self) - len_other:]:
+ chunk.gallery_start += gm.dest_size - gm.num_deleted
+ chunk.save()
other.delete()
self.book1.chunk_set.create(number=2, title='Second chunk',
slug='book 1 / 2')
c=self.book1[0]
- c.gallery_start=0
+ c.gallery_start=1
c=self.book1[1]
- c.gallery_start=2
+ c.gallery_start=3
self.scandir = join(settings.MEDIA_ROOT, settings.IMAGE_DIR)
if not exists(self.scandir):
self.book2 = Book.create(self.user, 'book 2', slug='book2')
self.book2.chunk_set.create(number=2, title='Second chunk of second book',
slug='book 2 / 2')
+
c = self.book2[0]
- c.gallery_start = 0
+ c.gallery_start = 1
+ c.save()
c = self.book2[1]
- c.gallery_start = 2
+ c.gallery_start = 3
+ c.save()
+
+ print "gallery starts:",self.book2[0].gallery_start, self.book2[1].gallery_start
self.make_gallery(self.book1, {
'1-0001_1l' : 'aa',
files = listdir(join(self.scandir, self.book1.gallery))
files.sort()
+ print files
self.assertEqual(files, [
'1-0001_1l',
'1-0001_2r',
'3-0002_2r',
])
- self.assertEqual((3, 5), (self.book1[2].gallery_start, self.book1[3].gallery_start))
+ self.assertEqual((4, 6), (self.book1[2].gallery_start, self.book1[3].gallery_start))
def test_none_indexed(self):