Catch errors in export_photo
This commit is contained in:
@@ -2515,58 +2515,71 @@ def export_photo(
|
|||||||
# export the photo to each path in dest_paths
|
# export the photo to each path in dest_paths
|
||||||
for dest_path in dest_paths:
|
for dest_path in dest_paths:
|
||||||
if export_original:
|
if export_original:
|
||||||
export_results = photo.export2(
|
try:
|
||||||
dest_path,
|
export_results = photo.export2(
|
||||||
original_filename,
|
dest_path,
|
||||||
sidecar_json=sidecar_json,
|
original_filename,
|
||||||
sidecar_xmp=sidecar_xmp,
|
sidecar_json=sidecar_json,
|
||||||
live_photo=export_live,
|
sidecar_xmp=sidecar_xmp,
|
||||||
raw_photo=export_raw,
|
live_photo=export_live,
|
||||||
export_as_hardlink=export_as_hardlink,
|
raw_photo=export_raw,
|
||||||
overwrite=overwrite,
|
export_as_hardlink=export_as_hardlink,
|
||||||
use_photos_export=use_photos_export,
|
overwrite=overwrite,
|
||||||
exiftool=exiftool,
|
use_photos_export=use_photos_export,
|
||||||
no_xattr=no_extended_attributes,
|
exiftool=exiftool,
|
||||||
use_albums_as_keywords=album_keyword,
|
no_xattr=no_extended_attributes,
|
||||||
use_persons_as_keywords=person_keyword,
|
use_albums_as_keywords=album_keyword,
|
||||||
keyword_template=keyword_template,
|
use_persons_as_keywords=person_keyword,
|
||||||
description_template=description_template,
|
keyword_template=keyword_template,
|
||||||
update=update,
|
description_template=description_template,
|
||||||
export_db=export_db,
|
update=update,
|
||||||
fileutil=fileutil,
|
export_db=export_db,
|
||||||
dry_run=dry_run,
|
fileutil=fileutil,
|
||||||
touch_file=touch_file,
|
dry_run=dry_run,
|
||||||
convert_to_jpeg=convert_to_jpeg,
|
touch_file=touch_file,
|
||||||
jpeg_quality=jpeg_quality,
|
convert_to_jpeg=convert_to_jpeg,
|
||||||
ignore_date_modified=ignore_date_modified,
|
jpeg_quality=jpeg_quality,
|
||||||
use_photokit=use_photokit,
|
ignore_date_modified=ignore_date_modified,
|
||||||
verbose=verbose,
|
use_photokit=use_photokit,
|
||||||
)
|
verbose=verbose,
|
||||||
|
)
|
||||||
|
|
||||||
results_exported.extend(export_results.exported)
|
results_exported.extend(export_results.exported)
|
||||||
results_new.extend(export_results.new)
|
results_new.extend(export_results.new)
|
||||||
results_updated.extend(export_results.updated)
|
results_updated.extend(export_results.updated)
|
||||||
results_skipped.extend(export_results.skipped)
|
results_skipped.extend(export_results.skipped)
|
||||||
results_exif_updated.extend(export_results.exif_updated)
|
results_exif_updated.extend(export_results.exif_updated)
|
||||||
results_touched.extend(export_results.touched)
|
results_touched.extend(export_results.touched)
|
||||||
results_converted.extend(export_results.converted_to_jpeg)
|
results_converted.extend(export_results.converted_to_jpeg)
|
||||||
results_sidecar_json_written.extend(export_results.sidecar_json_written)
|
results_sidecar_json_written.extend(
|
||||||
results_sidecar_json_skipped.extend(export_results.sidecar_json_skipped)
|
export_results.sidecar_json_written
|
||||||
results_sidecar_xmp_written.extend(export_results.sidecar_xmp_written)
|
)
|
||||||
results_sidecar_xmp_skipped.extend(export_results.sidecar_xmp_skipped)
|
results_sidecar_json_skipped.extend(
|
||||||
|
export_results.sidecar_json_skipped
|
||||||
if verbose_:
|
)
|
||||||
for exported in export_results.exported:
|
results_sidecar_xmp_written.extend(
|
||||||
verbose(f"Exported {exported}")
|
export_results.sidecar_xmp_written
|
||||||
for new in export_results.new:
|
)
|
||||||
verbose(f"Exported new file {new}")
|
results_sidecar_xmp_skipped.extend(
|
||||||
for updated in export_results.updated:
|
export_results.sidecar_xmp_skipped
|
||||||
verbose(f"Exported updated file {updated}")
|
)
|
||||||
for skipped in export_results.skipped:
|
|
||||||
verbose(f"Skipped up to date file {skipped}")
|
|
||||||
for touched in export_results.touched:
|
|
||||||
verbose(f"Touched date on file {touched}")
|
|
||||||
|
|
||||||
|
if verbose_:
|
||||||
|
for exported in export_results.exported:
|
||||||
|
verbose(f"Exported {exported}")
|
||||||
|
for new in export_results.new:
|
||||||
|
verbose(f"Exported new file {new}")
|
||||||
|
for updated in export_results.updated:
|
||||||
|
verbose(f"Exported updated file {updated}")
|
||||||
|
for skipped in export_results.skipped:
|
||||||
|
verbose(f"Skipped up to date file {skipped}")
|
||||||
|
for touched in export_results.touched:
|
||||||
|
verbose(f"Touched date on file {touched}")
|
||||||
|
except:
|
||||||
|
click.echo(
|
||||||
|
f"Error exporting photo {photo.original_filename} ({photo.filename}) as {original_filename}",
|
||||||
|
err=True,
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
verbose(f"Skipping original version of {photo.original_filename}")
|
verbose(f"Skipping original version of {photo.original_filename}")
|
||||||
|
|
||||||
@@ -2592,64 +2605,72 @@ def export_photo(
|
|||||||
verbose(
|
verbose(
|
||||||
f"Exporting edited version of {filename} as {edited_filename}"
|
f"Exporting edited version of {filename} as {edited_filename}"
|
||||||
)
|
)
|
||||||
export_results_edited = photo.export2(
|
try:
|
||||||
dest_path,
|
export_results_edited = photo.export2(
|
||||||
edited_filename,
|
dest_path,
|
||||||
sidecar_json=sidecar_json,
|
edited_filename,
|
||||||
sidecar_xmp=sidecar_xmp,
|
sidecar_json=sidecar_json,
|
||||||
export_as_hardlink=export_as_hardlink,
|
sidecar_xmp=sidecar_xmp,
|
||||||
overwrite=overwrite,
|
export_as_hardlink=export_as_hardlink,
|
||||||
edited=True,
|
overwrite=overwrite,
|
||||||
use_photos_export=use_photos_export,
|
edited=True,
|
||||||
exiftool=exiftool,
|
use_photos_export=use_photos_export,
|
||||||
no_xattr=no_extended_attributes,
|
exiftool=exiftool,
|
||||||
use_albums_as_keywords=album_keyword,
|
no_xattr=no_extended_attributes,
|
||||||
use_persons_as_keywords=person_keyword,
|
use_albums_as_keywords=album_keyword,
|
||||||
keyword_template=keyword_template,
|
use_persons_as_keywords=person_keyword,
|
||||||
description_template=description_template,
|
keyword_template=keyword_template,
|
||||||
update=update,
|
description_template=description_template,
|
||||||
export_db=export_db,
|
update=update,
|
||||||
fileutil=fileutil,
|
export_db=export_db,
|
||||||
dry_run=dry_run,
|
fileutil=fileutil,
|
||||||
touch_file=touch_file,
|
dry_run=dry_run,
|
||||||
convert_to_jpeg=convert_to_jpeg,
|
touch_file=touch_file,
|
||||||
jpeg_quality=jpeg_quality,
|
convert_to_jpeg=convert_to_jpeg,
|
||||||
ignore_date_modified=ignore_date_modified,
|
jpeg_quality=jpeg_quality,
|
||||||
use_photokit=use_photokit,
|
ignore_date_modified=ignore_date_modified,
|
||||||
verbose=verbose,
|
use_photokit=use_photokit,
|
||||||
)
|
verbose=verbose,
|
||||||
|
)
|
||||||
|
|
||||||
results_exported.extend(export_results_edited.exported)
|
results_exported.extend(export_results_edited.exported)
|
||||||
results_new.extend(export_results_edited.new)
|
results_new.extend(export_results_edited.new)
|
||||||
results_updated.extend(export_results_edited.updated)
|
results_updated.extend(export_results_edited.updated)
|
||||||
results_skipped.extend(export_results_edited.skipped)
|
results_skipped.extend(export_results_edited.skipped)
|
||||||
results_exif_updated.extend(export_results_edited.exif_updated)
|
results_exif_updated.extend(export_results_edited.exif_updated)
|
||||||
results_touched.extend(export_results_edited.touched)
|
results_touched.extend(export_results_edited.touched)
|
||||||
results_converted.extend(export_results_edited.converted_to_jpeg)
|
results_converted.extend(
|
||||||
results_sidecar_json_written.extend(
|
export_results_edited.converted_to_jpeg
|
||||||
export_results_edited.sidecar_json_written
|
)
|
||||||
)
|
results_sidecar_json_written.extend(
|
||||||
results_sidecar_json_skipped.extend(
|
export_results_edited.sidecar_json_written
|
||||||
export_results_edited.sidecar_json_skipped
|
)
|
||||||
)
|
results_sidecar_json_skipped.extend(
|
||||||
results_sidecar_xmp_written.extend(
|
export_results_edited.sidecar_json_skipped
|
||||||
export_results_edited.sidecar_xmp_written
|
)
|
||||||
)
|
results_sidecar_xmp_written.extend(
|
||||||
results_sidecar_xmp_skipped.extend(
|
export_results_edited.sidecar_xmp_written
|
||||||
export_results_edited.sidecar_xmp_skipped
|
)
|
||||||
)
|
results_sidecar_xmp_skipped.extend(
|
||||||
|
export_results_edited.sidecar_xmp_skipped
|
||||||
|
)
|
||||||
|
|
||||||
if verbose_:
|
if verbose_:
|
||||||
for exported in export_results_edited.exported:
|
for exported in export_results_edited.exported:
|
||||||
verbose(f"Exported {exported}")
|
verbose(f"Exported {exported}")
|
||||||
for new in export_results_edited.new:
|
for new in export_results_edited.new:
|
||||||
verbose(f"Exported new file {new}")
|
verbose(f"Exported new file {new}")
|
||||||
for updated in export_results_edited.updated:
|
for updated in export_results_edited.updated:
|
||||||
verbose(f"Exported updated file {updated}")
|
verbose(f"Exported updated file {updated}")
|
||||||
for skipped in export_results_edited.skipped:
|
for skipped in export_results_edited.skipped:
|
||||||
verbose(f"Skipped up to date file {skipped}")
|
verbose(f"Skipped up to date file {skipped}")
|
||||||
for touched in export_results_edited.touched:
|
for touched in export_results_edited.touched:
|
||||||
verbose(f"Touched date on file {touched}")
|
verbose(f"Touched date on file {touched}")
|
||||||
|
except:
|
||||||
|
click.echo(
|
||||||
|
f"Error exporting photo {filename} as {edited_filename}",
|
||||||
|
err=True,
|
||||||
|
)
|
||||||
|
|
||||||
return ExportResults(
|
return ExportResults(
|
||||||
results_exported,
|
results_exported,
|
||||||
|
|||||||
Reference in New Issue
Block a user