2017-01-27 19:43:19 +01:00
|
|
|
import os
|
|
|
|
|
import pickle
|
2020-03-15 22:58:03 -03:00
|
|
|
|
2017-01-27 19:43:19 +01:00
|
|
|
from sigal.gallery import Gallery
|
|
|
|
|
from sigal.plugins import extended_caching
|
|
|
|
|
|
|
|
|
|
CURRENT_DIR = os.path.dirname(__file__)
|
|
|
|
|
|
2017-02-06 00:21:44 +01:00
|
|
|
|
2020-04-13 23:10:40 -04:00
|
|
|
def test_save_cache(settings, tmpdir):
|
|
|
|
|
settings['destination'] = str(tmpdir)
|
2017-01-27 19:43:19 +01:00
|
|
|
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
|
|
|
|
|
|
2017-02-06 00:21:44 +01:00
|
|
|
|
2020-04-13 23:10:40 -04:00
|
|
|
def test_restore_cache(settings, tmpdir):
|
|
|
|
|
settings['destination'] = str(tmpdir)
|
2017-01-27 19:43:19 +01:00
|
|
|
gal1 = Gallery(settings, ncpu=1)
|
|
|
|
|
gal2 = Gallery(settings, ncpu=1)
|
|
|
|
|
extended_caching.save_cache(gal1)
|
|
|
|
|
extended_caching._restore_cache(gal2)
|
|
|
|
|
assert gal1.exifCache == gal2.exifCache
|
|
|
|
|
|
2017-02-06 00:21:44 +01:00
|
|
|
|
2020-04-13 23:10:40 -04:00
|
|
|
def test_load_exif(settings, tmpdir):
|
|
|
|
|
settings['destination'] = str(tmpdir)
|
2017-01-27 19:43:19 +01:00
|
|
|
gal1 = Gallery(settings, ncpu=1)
|
|
|
|
|
gal1.albums["exifTest"].medias[2].exif = "blafoo"
|
|
|
|
|
gal1.exifCache = {"exifTest/21.jpg": "Foo",
|
2017-02-06 00:21:44 +01:00
|
|
|
"exifTest/22.jpg": "Bar"}
|
2017-01-27 19:43:19 +01:00
|
|
|
|
|
|
|
|
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"
|
|
|
|
|
|
2017-02-06 00:21:44 +01:00
|
|
|
# check if setting gallery.exifCache works
|
2017-01-27 19:43:19 +01:00
|
|
|
gal2 = Gallery(settings, ncpu=1)
|
|
|
|
|
extended_caching.save_cache(gal1)
|
|
|
|
|
extended_caching.load_exif(gal2.albums["exifTest"])
|