mirror of https://github.com/saimn/sigal.git
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.
74 lines
2.2 KiB
74 lines
2.2 KiB
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, "test1", "archive.zip") |
|
assert os.path.isfile(zipf) |
|
|
|
zip_file = zipfile.ZipFile(zipf, "r") |
|
expected = ( |
|
"11.jpg", |
|
"CMB_Timeline300_no_WMAP.jpg", |
|
"flickr_jerquiaga_2394751088_cc-by-nc.jpg", |
|
"example.gif", |
|
) |
|
|
|
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"))
|
|
|