|
|
|
|
import os
|
|
|
|
|
import zipfile
|
|
|
|
|
|
|
|
|
|
from sigal.gallery import Gallery
|
|
|
|
|
from sigal.settings import read_settings
|
|
|
|
|
from sigal.utils import init_plugins
|
|
|
|
|
|
|
|
|
|
CURRENT_DIR = os.path.dirname(__file__)
|
|
|
|
|
SAMPLE_DIR = os.path.join(CURRENT_DIR, "sample")
|
|
|
|
|
SAMPLE_SOURCE = os.path.join(SAMPLE_DIR, "pictures")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def make_gallery(source_dir="dir1", **kwargs):
|
|
|
|
|
default_conf = os.path.join(SAMPLE_DIR, "sigal.conf.py")
|
|
|
|
|
settings = read_settings(default_conf)
|
|
|
|
|
settings["source"] = os.path.join(SAMPLE_SOURCE, source_dir)
|
|
|
|
|
settings.update(kwargs)
|
|
|
|
|
init_plugins(settings)
|
|
|
|
|
return Gallery(settings, ncpu=1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_zipped_correctly(tmpdir):
|
|
|
|
|
outpath = str(tmpdir)
|
|
|
|
|
gallery = make_gallery(destination=outpath, zip_gallery="archive.zip")
|
|
|
|
|
gallery.build()
|
|
|
|
|
|
|
|
|
|
zipf = os.path.join(outpath, "test2", "archive.zip")
|
|
|
|
|
assert os.path.isfile(zipf)
|
|
|
|
|
|
|
|
|
|
zip_file = zipfile.ZipFile(zipf, "r")
|
|
|
|
|
expected = ("21.tiff", "22.jpg", "CMB_Timeline300_no_WMAP.jpg")
|
|
|
|
|
|
|
|
|
|
for filename in zip_file.namelist():
|
|
|
|
|
assert filename in expected
|
|
|
|
|
|
|
|
|
|
zip_file.close()
|
|
|
|
|
|
|
|
|
|
assert os.path.isfile(os.path.join(outpath, "test2", "archive.zip"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_not_zipped(tmpdir):
|
|
|
|
|
# test that the zip file is not created when the .nozip_gallery file
|
|
|
|
|
# is present
|
|
|
|
|
outpath = str(tmpdir)
|
|
|
|
|
gallery = make_gallery(
|
|
|
|
|
destination=outpath, zip_gallery="archive.zip", source_dir="dir2"
|
|
|
|
|
)
|
|
|
|
|
gallery.build()
|
|
|
|
|
assert not os.path.isfile(os.path.join(outpath, "archive.zip"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_no_archive(tmpdir):
|
|
|
|
|
outpath = str(tmpdir)
|
|
|
|
|
gallery = make_gallery(destination=outpath, zip_gallery=False)
|
|
|
|
|
gallery.build()
|
|
|
|
|
|
|
|
|
|
assert not os.path.isfile(os.path.join(outpath, "test1", "archive.zip"))
|
|
|
|
|
assert not os.path.isfile(os.path.join(outpath, "test2", "archive.zip"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_correct_filename(tmpdir, caplog):
|
|
|
|
|
caplog.set_level("ERROR")
|
|
|
|
|
outpath = str(tmpdir)
|
|
|
|
|
gallery = make_gallery(destination=outpath, zip_gallery=True)
|
|
|
|
|
gallery.build()
|
|
|
|
|
|
|
|
|
|
assert caplog.records[0].message == "'zip_gallery' should be set to a filename"
|
|
|
|
|
assert not os.path.isfile(os.path.join(outpath, "test1", "archive.zip"))
|
|
|
|
|
assert not os.path.isfile(os.path.join(outpath, "test2", "archive.zip"))
|