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.
63 lines
1.8 KiB
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"
|
|
|