Exemple #1
0
    def test_update_2(self):
        self._make_test_album(self._album_dir)
        os.unlink(os.path.join(self._album_dir, "photos", "dog-3.jpg"))
        album = Album.load(self._album_dir)
        album.update(modification_time="2021-03-20T16:41:06+00:00")

        # Check markdown and album files exist
        with open(album.markdown_file, "r") as fp:
            self.assertEqual(fp.read(), TEST_ALBUM_MARKDOWN_2)
        with open(album._album_file, "r") as fp:
            self.assertEqual(fp.read(), TEST_ALBUM_YAML_2)

        # Check Output files exist
        album_out = os.path.join(self._output_dir, "dogs")
        cover = os.path.join(album_out, "coverimage.jpg")
        resized_files = {
            "large": [
                "dog_1_1600x1066.jpg",
                "dog_2_1600x1067.jpg",
            ],
            "small": [
                "dog_1_800x533.jpg",
                "dog_2_800x533.jpg",
            ],
            "thumb": [
                "dog_1_256x256.jpg",
                "dog_2_256x256.jpg",
            ],
        }
        for size in resized_files:
            for file in resized_files[size]:
                filename = os.path.join(album_out, size, file)
                self.assertTrue(os.path.exists(filename))
        self.assertTrue(os.path.exists(cover))
Exemple #2
0
 def test_create_markdown(self):
     self._make_test_album(self._album_dir)
     album = Album.load(self._album_dir)
     album.create_markdown()
     self.assertTrue(os.path.exists(album.markdown_file))
     with open(album.markdown_file, "r") as fp:
         self.assertEqual(fp.read(), TEST_ALBUM_MARKDOWN_1)
Exemple #3
0
    def test_dump(self):
        self._make_test_album(self._album_dir)
        album = Album.load(self._album_dir)
        album.dump(modification_time="2021-03-20T16:41:06+00:00")

        album_file = os.path.join(self._album_dir, settings.album_file)
        self.assertTrue(os.path.exists(album_file + ".bak"))
        with open(album_file, "r") as fp:
            self.assertEqual(fp.read(), TEST_ALBUM_YAML_1)
Exemple #4
0
 def test_load_empty(self):
     album_file = os.path.join(self._album_dir, settings.album_file)
     with open(album_file, "w") as fp:
         fp.write("---\n")
         fp.write("title: dogs\n")
     album = Album.load(self._album_dir)
     self.assertEqual(album._album_dir, self._album_dir)
     self.assertEqual(album.title, "dogs")
     self.assertEqual(
         album.cover_path,
         os.path.join(self._output_dir, "dogs", "coverimage.jpg"),
     )
     self.assertEqual(album.photos, [])
Exemple #5
0
    def test_load_album(self):
        self._make_test_album(self._album_dir)

        album = Album.load(self._album_dir)
        self.assertEqual(len(album.photos), 3)
        for i, p in enumerate(album.photos):
            self.assertIsInstance(p, Photo)
            self.assertEqual(p.album_name, "dogs")
            if i == 2:
                # Check if missing name is handled properly
                self.assertEqual(p.name, "dog-3.jpg")
            else:
                self.assertEqual(p.name, f"dog {i+1}")
            exp_path = os.path.join(self._album_dir, "photos",
                                    f"dog-{i+1}.jpg")
            self.assertEqual(p.original_path, exp_path)
            self.assertEqual(p.copyright, "copy")
Exemple #6
0
    def test_clean(self):
        self._make_test_album(self._album_dir)

        album = Album.load(self._album_dir)
        album.update()

        md = album.markdown_file
        self.assertTrue(os.path.exists(md))
        out_album = os.path.join(self._output_dir, "dogs")
        out_large = os.path.join(out_album, "large")
        out_small = os.path.join(out_album, "small")
        out_thumb = os.path.join(out_album, "thumb")
        self.assertTrue(os.path.exists(out_album))
        self.assertTrue(os.path.exists(out_large))
        self.assertTrue(os.path.exists(out_small))
        self.assertTrue(os.path.exists(out_thumb))
        self.assertEqual(len(os.listdir(out_large)), 3)
        self.assertEqual(len(os.listdir(out_small)), 3)
        self.assertEqual(len(os.listdir(out_thumb)), 3)

        album.clean(force=True)
        self.assertFalse(os.path.exists(md))
        self.assertFalse(os.path.exists(out_album))
Exemple #7
0
 def test_markdown_file(self):
     album = Album(album_dir=self._album_dir)
     exp_md = os.path.join(self._markdown_dir, "dogs.md")
     self.assertEqual(album.markdown_file, exp_md)
Exemple #8
0
 def test_name(self):
     album = Album(album_dir=self._album_dir)
     self.assertEqual(album.name, "dogs")