Bug fix for empty albums

This commit is contained in:
Rhet Turnbull
2020-07-06 10:35:54 -07:00
parent a934b692ab
commit 1ef518cc3e
3 changed files with 19 additions and 8 deletions

View File

@@ -1,3 +1,3 @@
""" version info """ """ version info """
__version__ = "0.30.9" __version__ = "0.30.10"

View File

@@ -48,6 +48,7 @@ class AlbumInfo:
try: try:
return self._photos return self._photos
except AttributeError: except AttributeError:
if self.uuid in self._db._dbalbums_album:
uuid, sort_order = zip(*self._db._dbalbums_album[self.uuid]) uuid, sort_order = zip(*self._db._dbalbums_album[self.uuid])
self._photos = self._db.photos(uuid=uuid) self._photos = self._db.photos(uuid=uuid)
# PhotosDB.photos does not preserve order when passing in list of uuids # PhotosDB.photos does not preserve order when passing in list of uuids
@@ -55,6 +56,8 @@ class AlbumInfo:
# sort uuids by sort order # sort uuids by sort order
sorted_uuid = sorted(zip(sort_order, uuid)) sorted_uuid = sorted(zip(sort_order, uuid))
self._photos = [self._db.photos(uuid=[uuid])[0] for _, uuid in sorted_uuid] self._photos = [self._db.photos(uuid=[uuid])[0] for _, uuid in sorted_uuid]
else:
self._photos = []
return self._photos return self._photos
@property @property

View File

@@ -233,6 +233,14 @@ def test_album_sort_order():
uuids = [p.uuid for p in photos] uuids = [p.uuid for p in photos]
assert uuids == ALBUM_SORT_ORDER assert uuids == ALBUM_SORT_ORDER
def test_album_empty_album():
import osxphotos
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
album = [a for a in photosdb.album_info if a.title == "EmptyAlbum"][0]
photos = album.photos
assert photos == []
def test_attributes(): def test_attributes():
import datetime import datetime
import osxphotos import osxphotos