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", theme="colorbox" ) 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"