Let digest_directory distinguish between new and existing photos.
This commit is contained in:
parent
ec1197d7ca
commit
f420367d55
1 changed files with 8 additions and 6 deletions
|
@ -1177,7 +1177,8 @@ class PDBUtilMixin:
|
||||||
new_photo_ratelimit=None,
|
new_photo_ratelimit=None,
|
||||||
recurse=True,
|
recurse=True,
|
||||||
yield_albums=True,
|
yield_albums=True,
|
||||||
yield_photos=True,
|
yield_new_photos=True,
|
||||||
|
yield_old_photos=True,
|
||||||
):
|
):
|
||||||
'''
|
'''
|
||||||
Walk the directory and create Photos for every file.
|
Walk the directory and create Photos for every file.
|
||||||
|
@ -1320,7 +1321,7 @@ class PDBUtilMixin:
|
||||||
otherwise create it and then return it.
|
otherwise create it and then return it.
|
||||||
'''
|
'''
|
||||||
try:
|
try:
|
||||||
photo = self.get_photo_by_path(filepath)
|
photo = (self.get_photo_by_path(filepath), False)
|
||||||
return photo
|
return photo
|
||||||
except exceptions.NoSuchPhoto:
|
except exceptions.NoSuchPhoto:
|
||||||
pass
|
pass
|
||||||
|
@ -1338,7 +1339,7 @@ class PDBUtilMixin:
|
||||||
if new_photo_ratelimit is not None:
|
if new_photo_ratelimit is not None:
|
||||||
new_photo_ratelimit.limit()
|
new_photo_ratelimit.limit()
|
||||||
|
|
||||||
return photo
|
return (photo, True)
|
||||||
|
|
||||||
def create_or_fetch_current_albums(albums_by_path, current_directory):
|
def create_or_fetch_current_albums(albums_by_path, current_directory):
|
||||||
current_albums = albums_by_path.get(current_directory.absolute_path, None)
|
current_albums = albums_by_path.get(current_directory.absolute_path, None)
|
||||||
|
@ -1405,8 +1406,9 @@ class PDBUtilMixin:
|
||||||
if not photos:
|
if not photos:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if yield_photos:
|
for (photo, is_new) in photos:
|
||||||
yield from photos
|
if (is_new and yield_new_photos) or (not is_new and yield_old_photos):
|
||||||
|
yield photo
|
||||||
|
|
||||||
if not make_albums:
|
if not make_albums:
|
||||||
continue
|
continue
|
||||||
|
@ -1415,7 +1417,7 @@ class PDBUtilMixin:
|
||||||
orphan_join_parent_albums(albums_by_path, current_albums, current_directory)
|
orphan_join_parent_albums(albums_by_path, current_albums, current_directory)
|
||||||
|
|
||||||
for album in current_albums:
|
for album in current_albums:
|
||||||
album.add_photos(photos)
|
album.add_photos(photo for (photo, is_new) in photos)
|
||||||
|
|
||||||
if yield_albums:
|
if yield_albums:
|
||||||
yield from current_albums
|
yield from current_albums
|
||||||
|
|
Loading…
Reference in a new issue