Catch errors in export_photo

This commit is contained in:
Rhet Turnbull
2020-11-28 20:00:10 -08:00
parent 4f36c7c948
commit d9dcf0917a

View File

@@ -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,