Added --original-name to export
This commit is contained in:
@@ -374,6 +374,11 @@ def query(
|
|||||||
help="Also export edited version of photo "
|
help="Also export edited version of photo "
|
||||||
'if an edited version exists. Edited photo will be named in form of "photoname_edited.ext"',
|
'if an edited version exists. Edited photo will be named in form of "photoname_edited.ext"',
|
||||||
)
|
)
|
||||||
|
@click.option(
|
||||||
|
"--original-name",
|
||||||
|
is_flag=True,
|
||||||
|
help="Use photo's original filename instead of current filename for export",
|
||||||
|
)
|
||||||
@click.option(
|
@click.option(
|
||||||
"--sidecar",
|
"--sidecar",
|
||||||
is_flag=True,
|
is_flag=True,
|
||||||
@@ -408,6 +413,7 @@ def export(
|
|||||||
overwrite,
|
overwrite,
|
||||||
export_by_date,
|
export_by_date,
|
||||||
export_edited,
|
export_edited,
|
||||||
|
original_name,
|
||||||
sidecar,
|
sidecar,
|
||||||
dest,
|
dest,
|
||||||
):
|
):
|
||||||
@@ -463,11 +469,12 @@ def export(
|
|||||||
sidecar,
|
sidecar,
|
||||||
overwrite,
|
overwrite,
|
||||||
export_edited,
|
export_edited,
|
||||||
|
original_name,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
for p in photos:
|
for p in photos:
|
||||||
export_path = export_photo(
|
export_path = export_photo(
|
||||||
p, dest, verbose, export_by_date, sidecar, overwrite, export_edited
|
p, dest, verbose, export_by_date, sidecar, overwrite, export_edited, original_name,
|
||||||
)
|
)
|
||||||
click.echo(f"Exported {p.filename} to {export_path}")
|
click.echo(f"Exported {p.filename} to {export_path}")
|
||||||
else:
|
else:
|
||||||
@@ -631,7 +638,7 @@ def _query(
|
|||||||
|
|
||||||
|
|
||||||
def export_photo(
|
def export_photo(
|
||||||
photo, dest, verbose, export_by_date, sidecar, overwrite, export_edited
|
photo, dest, verbose, export_by_date, sidecar, overwrite, export_edited, original_name
|
||||||
):
|
):
|
||||||
""" Helper function for export that does the actual export
|
""" Helper function for export that does the actual export
|
||||||
photo: PhotoInfo object
|
photo: PhotoInfo object
|
||||||
@@ -640,6 +647,7 @@ def export_photo(
|
|||||||
export_by_date: boolean; create export folder in form dest/YYYY/MM/DD
|
export_by_date: boolean; create export folder in form dest/YYYY/MM/DD
|
||||||
sidecar: boolean; create json sidecar file with export
|
sidecar: boolean; create json sidecar file with export
|
||||||
overwrite: boolean; overwrite dest file if it already exists
|
overwrite: boolean; overwrite dest file if it already exists
|
||||||
|
original_name: boolean; use original filename instead of current filename
|
||||||
returns destination path of exported photo or None if photo was missing
|
returns destination path of exported photo or None if photo was missing
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -647,20 +655,29 @@ def export_photo(
|
|||||||
space = " " if not verbose else ""
|
space = " " if not verbose else ""
|
||||||
click.echo(f"{space}Skipping missing photos {photo.filename}")
|
click.echo(f"{space}Skipping missing photos {photo.filename}")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
filename = None
|
||||||
|
if original_name:
|
||||||
|
filename = photo.original_filename
|
||||||
|
else:
|
||||||
|
filename = photo.filename
|
||||||
|
|
||||||
if verbose:
|
if verbose:
|
||||||
click.echo(f"Exporting {photo.filename}")
|
click.echo(f"Exporting {photo.filename} as {filename}")
|
||||||
|
|
||||||
if export_by_date:
|
if export_by_date:
|
||||||
date_created = photo.date.timetuple()
|
date_created = photo.date.timetuple()
|
||||||
dest = create_path_by_date(dest, date_created)
|
dest = create_path_by_date(dest, date_created)
|
||||||
photo_path = photo.export(dest, sidecar=sidecar, overwrite=overwrite)
|
|
||||||
|
photo_path = photo.export(dest, filename, sidecar=sidecar, overwrite=overwrite)
|
||||||
|
|
||||||
# if export-edited, also export the edited version
|
# if export-edited, also export the edited version
|
||||||
# verify the photo has adjustments and valid path to avoid raising an exception
|
# verify the photo has adjustments and valid path to avoid raising an exception
|
||||||
if export_edited and photo.hasadjustments and photo.path_edited is not None:
|
if export_edited and photo.hasadjustments and photo.path_edited is not None:
|
||||||
edited_name = pathlib.Path(photo.filename)
|
edited_name = pathlib.Path(filename)
|
||||||
edited_name = f"{edited_name.stem}_edited{edited_name.suffix}"
|
edited_name = f"{edited_name.stem}_edited{edited_name.suffix}"
|
||||||
if verbose:
|
if verbose:
|
||||||
click.echo(f"Exporting edited version of {photo.filename} as {edited_name}")
|
click.echo(f"Exporting edited version of {filename} as {edited_name}")
|
||||||
photo.export(
|
photo.export(
|
||||||
dest, edited_name, sidecar=sidecar, overwrite=overwrite, edited=True
|
dest, edited_name, sidecar=sidecar, overwrite=overwrite, edited=True
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
""" version info """
|
""" version info """
|
||||||
|
|
||||||
__version__ = "0.17.02"
|
__version__ = "0.17.03"
|
||||||
|
|||||||
Reference in New Issue
Block a user