Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.idea/
*.ipr
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ Usage
only import missing folers if folder date occurs after
(YYYY-MM-DD). Uses date in folder name.
-t, --test dont actually copy files or import folders
-s, --stop_on_not_found_image
stop if image not found.


2. There is no step 2

Expand Down
22 changes: 18 additions & 4 deletions exportiphoto.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class iPhotoLibrary(object):
def __init__(self, albumDir, destDir, use_album=False, use_date=False,
use_faces=False, use_metadata=False, deconflict=False, quiet=False,
year_dir=False, import_missing=False, import_from_date=None, test=False,
date_delimiter="-", ignore_time_delta=False, originals=False):
date_delimiter="-", ignore_time_delta=False, originals=False, stop_on_not_found_image=False):
self.use_album = use_album
self.use_date = use_date
self.use_faces = use_faces
Expand All @@ -70,7 +70,7 @@ def __init__(self, albumDir, destDir, use_album=False, use_date=False,
self.date_delimiter = date_delimiter
self.originals=originals
self.import_albums = []

self.stop_on_not_found_image = stop_on_not_found_image
if import_from_date:
self.import_from_date = datetime.strptime(import_from_date, "%Y-%m-%d")
else:
Expand Down Expand Up @@ -358,6 +358,13 @@ def copyImage(self, imageId, folderName, folderDate):
mFilePath = image["ImagePath"]
basename = os.path.basename(mFilePath)

if not os.path.exists(mFilePath):
msg = "Can't find file %s\n" % mFilePath
if self.stop_on_not_found_image:
raise iPhotoLibraryError, msg
else:
self.status(" %s" % msg)

# Deconflict ouput filenames
tFilePath = os.path.join(folderName, basename)
if self.deconflict:
Expand Down Expand Up @@ -529,7 +536,8 @@ def error(msg):
quiet=False,
date=True,
ignore_time_delta=False,
originals=False
originals=False,
stop_on_not_found_image=False
)

option_parser.add_option("-a", "--albums",
Expand Down Expand Up @@ -587,6 +595,11 @@ def error(msg):
help="only import missing folers if folder date occurs after (YYYY-MM-DD). Uses date in folder name."
)

option_parser.add_option("-s", "--stop_on_not_found_image",
action="store_true", dest="stop_on_not_found_image",
help="stop if image not found."
)

if pyexiv2:
option_parser.add_option("-m", "--metadata",
action="store_true", dest="metadata",
Expand Down Expand Up @@ -623,7 +636,8 @@ def error(msg):
test=options.test,
date_delimiter=options.date_delimiter,
ignore_time_delta=options.ignore_time_delta,
originals=options.originals
originals=options.originals,
stop_on_not_found_image=options.stop_on_not_found_image
)
def copyImage(imageId, folderName, folderDate):
library.copyImage(imageId, folderName, folderDate)
Expand Down