Fix for #526 with --update
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
""" version info """
|
""" version info """
|
||||||
|
|
||||||
__version__ = "0.42.93"
|
__version__ = "0.42.94"
|
||||||
|
|||||||
@@ -912,9 +912,12 @@ def export2(
|
|||||||
preview_path = pathlib.Path(self.path_derivatives[0])
|
preview_path = pathlib.Path(self.path_derivatives[0])
|
||||||
preview_ext = preview_path.suffix
|
preview_ext = preview_path.suffix
|
||||||
preview_name = dest.parent / f"{dest.stem}{preview_suffix}{preview_ext}"
|
preview_name = dest.parent / f"{dest.stem}{preview_suffix}{preview_ext}"
|
||||||
|
# if original is missing, the filename won't have been incremented so
|
||||||
|
# need to check here to make sure there aren't duplicate preview files in
|
||||||
|
# the export directory
|
||||||
preview_name = (
|
preview_name = (
|
||||||
preview_name
|
preview_name
|
||||||
if overwrite
|
if overwrite or update
|
||||||
else pathlib.Path(increment_filename(preview_name))
|
else pathlib.Path(increment_filename(preview_name))
|
||||||
)
|
)
|
||||||
if preview_path is not None:
|
if preview_path is not None:
|
||||||
|
|||||||
@@ -1527,6 +1527,50 @@ def test_export_preview_overwrite():
|
|||||||
assert len(files) == 2 # preview + original
|
assert len(files) == 2 # preview + original
|
||||||
|
|
||||||
|
|
||||||
|
def test_export_preview_update():
|
||||||
|
"""test export with --preview and --update (#526)"""
|
||||||
|
import glob
|
||||||
|
import os
|
||||||
|
import os.path
|
||||||
|
|
||||||
|
import osxphotos
|
||||||
|
from osxphotos.cli import export
|
||||||
|
|
||||||
|
runner = CliRunner()
|
||||||
|
cwd = os.getcwd()
|
||||||
|
# pylint: disable=not-context-manager
|
||||||
|
with runner.isolated_filesystem():
|
||||||
|
result = runner.invoke(
|
||||||
|
export,
|
||||||
|
[
|
||||||
|
os.path.join(cwd, CLI_PHOTOS_DB),
|
||||||
|
".",
|
||||||
|
"-V",
|
||||||
|
"--preview",
|
||||||
|
"--uuid",
|
||||||
|
CLI_EXPORT_UUID,
|
||||||
|
],
|
||||||
|
)
|
||||||
|
assert result.exit_code == 0
|
||||||
|
|
||||||
|
# export again
|
||||||
|
result = runner.invoke(
|
||||||
|
export,
|
||||||
|
[
|
||||||
|
os.path.join(cwd, CLI_PHOTOS_DB),
|
||||||
|
".",
|
||||||
|
"-V",
|
||||||
|
"--preview",
|
||||||
|
"--uuid",
|
||||||
|
CLI_EXPORT_UUID,
|
||||||
|
"--update",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
assert result.exit_code == 0
|
||||||
|
files = glob.glob("*")
|
||||||
|
assert len(files) == 2 # preview + original
|
||||||
|
|
||||||
|
|
||||||
def test_export_as_hardlink():
|
def test_export_as_hardlink():
|
||||||
import glob
|
import glob
|
||||||
import os
|
import os
|
||||||
|
|||||||
Reference in New Issue
Block a user