yet another simple static gallery generator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.6 KiB

# -*- coding:utf-8 -*-
import datetime
import os
import pickle
import pytest
from sigal.gallery import Gallery
from sigal.plugins import extended_caching
CURRENT_DIR = os.path.dirname(__file__)
def test_save_cache(settings):
gal = Gallery(settings, ncpu=1)
extended_caching.save_cache(gal)
cachePath = os.path.join(settings['destination'], ".exif_cache")
assert os.path.isfile(cachePath)
with open(cachePath, "rb") as cacheFile:
cache = pickle.load(cacheFile)
assert cache["exifTest/21.jpg"] == gal.albums["exifTest"].medias[0].exif
assert cache["exifTest/22.jpg"] == gal.albums["exifTest"].medias[1].exif
assert cache["exifTest/noexif.png"] == gal.albums["exifTest"].medias[2].exif
def test__restore_cache(settings):
gal1 = Gallery(settings, ncpu=1)
gal2 = Gallery(settings, ncpu=1)
extended_caching.save_cache(gal1)
cachePath = os.path.join(settings['destination'], ".exif_cache")
extended_caching._restore_cache(gal2)
assert gal1.exifCache == gal2.exifCache
def test_load_exif(settings):
gal1 = Gallery(settings, ncpu=1)
gal1.albums["exifTest"].medias[2].exif = "blafoo"
gal1.exifCache = {"exifTest/21.jpg": "Foo",
"exifTest/22.jpg": "Bar"}
extended_caching.load_exif(gal1.albums["exifTest"])
assert gal1.albums["exifTest"].medias[0].exif == "Foo"
assert gal1.albums["exifTest"].medias[1].exif == "Bar"
assert gal1.albums["exifTest"].medias[2].exif == "blafoo"
#check if setting gallery.exifCache works
gal2 = Gallery(settings, ncpu=1)
extended_caching.save_cache(gal1)
extended_caching.load_exif(gal2.albums["exifTest"])