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.
 
 
 
 

63 lines
1.8 KiB

import os
from sigal.gallery import Gallery
from sigal.utils import init_plugins
CURRENT_DIR = os.path.dirname(__file__)
def _build_with_plugin(
settings, input_path, output_path, plugin, **additional_settings
):
settings["source"] = os.path.join(settings["source"], input_path)
settings["destination"] = str(output_path)
settings["plugins"] = [plugin]
settings.update(additional_settings)
init_plugins(settings)
gal = Gallery(settings, ncpu=1)
gal.build()
return gal
def test_media_page(settings, tmp_path, disconnect_signals):
_build_with_plugin(settings, "dir2", tmp_path, "sigal.plugins.media_page")
assert (tmp_path / "KeckObservatory20071020.jpg.html").is_file()
def test_nomedia(settings, tmp_path, disconnect_signals):
_build_with_plugin(settings, "nomedia", tmp_path, "sigal.plugins.nomedia")
for path, dirs, files in os.walk(str(tmp_path)):
assert "ignore" not in path
for file in files:
assert "ignore" not in file
def test_nonmedia_files(settings, tmp_path, disconnect_signals):
_build_with_plugin(
settings,
"nonmedia_files",
tmp_path,
"sigal.plugins.nonmedia_files",
nonmedia_files_options={"thumb_bg_color": "red"},
)
assert (tmp_path / "dummy.pdf").is_file()
assert (tmp_path / "thumbnails" / "dummy.tn.jpg").is_file()
def test_titleregexp(settings, tmp_path, disconnect_signals):
conf = {
"regexp": [
{
"search": r"test ?(.*)",
"replace": r"titleregexp \1",
"substitute": [["2", "02"]],
"break": 1,
}
]
}
gal = _build_with_plugin(
settings, "dir1", tmp_path, "sigal.plugins.titleregexp", titleregexp=conf
)
assert gal.albums["test2"].title == "titleregexp 02"