minor fix for tests.
authorMarcin Koziej <marcin@lolownia.org>
Mon, 21 May 2012 11:03:30 +0000 (13:03 +0200)
committerMarcin Koziej <marcin@lolownia.org>
Mon, 21 May 2012 11:03:30 +0000 (13:03 +0200)
apps/catalogue/helpers.py
apps/catalogue/models/book.py
apps/catalogue/tests/__init__.py

index a97a040..7b1f44a 100644 (file)
@@ -70,6 +70,11 @@ class GalleryMerger(object):
         m = not always and re.match(r"^([0-9])-", name)
         return "%1d-%s" % (prefix, m and name[2:] or name)
 
         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
     def merge(self):
         if not self.dest:
             return self.src
index df1ff4e..7e6cbfa 100755 (executable)
@@ -200,10 +200,10 @@ class Book(models.Model):
         self.gallery = gm.merge()
 
         # and move the gallery starts
         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()
 
 
         other.delete()
 
index 3421d33..ae7bef7 100755 (executable)
@@ -93,9 +93,9 @@ class GalleryAppendTests(TestCase):
         self.book1.chunk_set.create(number=2, title='Second chunk',
                 slug='book 1 / 2')
         c=self.book1[0]
         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=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.scandir = join(settings.MEDIA_ROOT, settings.IMAGE_DIR)
         if not exists(self.scandir):
@@ -114,10 +114,15 @@ class GalleryAppendTests(TestCase):
         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')
         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 = self.book2[0]
-        c.gallery_start = 0
+        c.gallery_start = 1
+        c.save()
         c = self.book2[1]
         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',
 
         self.make_gallery(self.book1, {
             '1-0001_1l' : 'aa',
@@ -137,6 +142,7 @@ class GalleryAppendTests(TestCase):
 
         files = listdir(join(self.scandir, self.book1.gallery))
         files.sort()
 
         files = listdir(join(self.scandir, self.book1.gallery))
         files.sort()
+        print files
         self.assertEqual(files, [
             '1-0001_1l',
             '1-0001_2r',
         self.assertEqual(files, [
             '1-0001_1l',
             '1-0001_2r',
@@ -148,7 +154,7 @@ class GalleryAppendTests(TestCase):
             '3-0002_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):
         
         
     def test_none_indexed(self):