From 40167d7a67ff48d72c2fbf6baae43245f8f4ea55 Mon Sep 17 00:00:00 2001 From: Rhet Turnbull Date: Sun, 22 Dec 2019 19:50:31 -0800 Subject: [PATCH] Added --original-name to export --- osxphotos/__main__.py | 29 +++++++++++++++++++++++------ osxphotos/_version.py | 2 +- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/osxphotos/__main__.py b/osxphotos/__main__.py index 826114ea..820d9b37 100644 --- a/osxphotos/__main__.py +++ b/osxphotos/__main__.py @@ -374,6 +374,11 @@ def query( help="Also export edited version of photo " '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( "--sidecar", is_flag=True, @@ -408,6 +413,7 @@ def export( overwrite, export_by_date, export_edited, + original_name, sidecar, dest, ): @@ -463,11 +469,12 @@ def export( sidecar, overwrite, export_edited, + original_name, ) else: for p in photos: 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}") else: @@ -631,7 +638,7 @@ def _query( 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 photo: PhotoInfo object @@ -640,6 +647,7 @@ def export_photo( export_by_date: boolean; create export folder in form dest/YYYY/MM/DD sidecar: boolean; create json sidecar file with export 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 """ @@ -647,20 +655,29 @@ def export_photo( space = " " if not verbose else "" click.echo(f"{space}Skipping missing photos {photo.filename}") return None + + filename = None + if original_name: + filename = photo.original_filename + else: + filename = photo.filename + if verbose: - click.echo(f"Exporting {photo.filename}") + click.echo(f"Exporting {photo.filename} as {filename}") + if export_by_date: date_created = photo.date.timetuple() 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 # 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: - edited_name = pathlib.Path(photo.filename) + edited_name = pathlib.Path(filename) edited_name = f"{edited_name.stem}_edited{edited_name.suffix}" 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( dest, edited_name, sidecar=sidecar, overwrite=overwrite, edited=True ) diff --git a/osxphotos/_version.py b/osxphotos/_version.py index a27b61d2..a596b2ae 100644 --- a/osxphotos/_version.py +++ b/osxphotos/_version.py @@ -1,3 +1,3 @@ """ version info """ -__version__ = "0.17.02" +__version__ = "0.17.03"