Partial fix for #155

This commit is contained in:
Rhet Turnbull
2020-06-06 12:09:51 -07:00
parent 5c7a0c3a24
commit 2271d89355
36 changed files with 108 additions and 43 deletions

View File

@@ -7,7 +7,7 @@
<key>hostuuid</key>
<string>9575E48B-8D5F-5654-ABAC-4431B1167324</string>
<key>pid</key>
<integer>4021</integer>
<integer>452</integer>
<key>processname</key>
<string>photolibraryd</string>
<key>uid</key>

View File

@@ -3,24 +3,24 @@
<plist version="1.0">
<dict>
<key>BackgroundHighlightCollection</key>
<date>2020-05-30T01:45:51Z</date>
<date>2020-06-06T14:26:31Z</date>
<key>BackgroundHighlightEnrichment</key>
<date>2020-05-30T01:45:51Z</date>
<date>2020-06-06T14:26:29Z</date>
<key>BackgroundJobAssetRevGeocode</key>
<date>2020-05-30T04:01:24Z</date>
<date>2020-06-06T14:26:31Z</date>
<key>BackgroundJobSearch</key>
<date>2020-05-30T01:45:51Z</date>
<date>2020-06-06T14:26:31Z</date>
<key>BackgroundPeopleSuggestion</key>
<date>2020-05-30T01:45:51Z</date>
<date>2020-06-06T14:26:29Z</date>
<key>BackgroundUserBehaviorProcessor</key>
<date>2020-05-29T04:31:38Z</date>
<date>2020-06-06T14:26:31Z</date>
<key>PhotoAnalysisGraphLastBackgroundGraphConsistencyUpdateJobDateKey</key>
<date>2020-05-30T02:16:06Z</date>
<key>PhotoAnalysisGraphLastBackgroundGraphRebuildJobDate</key>
<date>2020-05-29T04:31:37Z</date>
<key>PhotoAnalysisGraphLastBackgroundMemoryGenerationJobDate</key>
<date>2020-05-30T04:01:24Z</date>
<date>2020-06-06T14:26:33Z</date>
<key>SiriPortraitDonation</key>
<date>2020-05-29T04:31:38Z</date>
<date>2020-06-06T14:26:31Z</date>
</dict>
</plist>

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

View File

@@ -7,6 +7,8 @@ PHOTOS_DB = "tests/Test-10.15.5.photoslibrary/database/photos.db"
PHOTOS_DB_PATH = "/Test-10.15.5.photoslibrary/database/photos.db"
PHOTOS_LIBRARY_PATH = "/Test-10.15.5.photoslibrary"
PHOTOS_DB_LEN = 13
KEYWORDS = [
"Kids",
"wedding",
@@ -24,7 +26,7 @@ ALBUMS = [
"Pumpkin Farm",
"Test Album",
"AlbumInFolder",
"Raw"
"Raw",
] # Note: there are 2 albums named "Test Album" for testing duplicate album names
KEYWORDS_DICT = {
"Kids": 4,
@@ -58,6 +60,7 @@ UUID_DICT = {
"external_edit": "DC99FBDD-7A52-4100-A5BB-344131646C30",
"no_external_edit": "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51",
"export": "D79B8D77-BFFC-460B-9312-034F2877D35B", # "Pumkins2.jpg"
"export_tif": "8846E3E6-8AC8-4857-8448-E3D025784410",
}
@@ -109,14 +112,14 @@ def test_init4():
def test_init5(mocker):
# test failed get_last_library_path
import osxphotos
def bad_library():
return None
# get_last_library actually in utils but need to patch it in photosdb because it's imported into photosdb
# because of the layout of photosdb/ need to patch it this way...don't really understand why, but it works
mocker.patch("osxphotos.photosdb.photosdb.get_last_library_path", new=bad_library)
with pytest.raises(Exception):
assert osxphotos.PhotosDB()
@@ -126,7 +129,7 @@ def test_db_len():
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
# assert photosdb.db_version in osxphotos._TESTED_DB_VERSIONS
assert len(photosdb) == 12
assert len(photosdb) == PHOTOS_DB_LEN
def test_db_version():
@@ -378,7 +381,7 @@ def test_count():
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
photos = photosdb.photos()
assert len(photos) == 12
assert len(photos) == PHOTOS_DB_LEN
def test_keyword_2():
@@ -730,6 +733,31 @@ def test_export_13():
assert e.type == type(FileNotFoundError())
def test_export_14(caplog):
# test export with user provided filename with different (but valid) extension than source
import os
import os.path
import tempfile
import time
import osxphotos
tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_")
dest = tempdir.name
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
photos = photosdb.photos(uuid=[UUID_DICT["export_tif"]])
timestamp = time.time()
filename = f"osxphotos-export-2-test-{timestamp}.tif"
expected_dest = os.path.join(dest, filename)
got_dest = photos[0].export(dest, filename)[0]
assert got_dest == expected_dest
assert os.path.isfile(got_dest)
assert "Invalid destination suffix" not in caplog.text
def test_eq():
import osxphotos
@@ -781,7 +809,7 @@ def test_from_to_date():
photosdb = osxphotos.PhotosDB(PHOTOS_DB)
photos = photosdb.photos(from_date=dt.datetime(2018, 10, 28))
assert len(photos) ==6
assert len(photos) == 7
photos = photosdb.photos(to_date=dt.datetime(2018, 10, 28))
assert len(photos) == 6

View File

@@ -164,6 +164,7 @@ CLI_EXPORTED_FILENAME_TEMPLATE_FILENAMES2 = [
"Pumpkin Farm-Pumpkins3.jpg",
"Test Album-Pumkins1.jpg",
"Test Album-Pumkins2.jpg",
"None-IMG_1693.tif",
]
CLI_EXPORT_UUID = "D79B8D77-BFFC-460B-9312-034F2877D35B"