From b32f4b8504768a5f4b5ad54c00315b9e82fca980 Mon Sep 17 00:00:00 2001 From: Rhet Turnbull Date: Fri, 9 Oct 2020 22:15:47 -0700 Subject: [PATCH] Updates to path, path_raw, uti for RAW+JPEG pairs --- osxphotos/photoinfo/photoinfo.py | 55 +++++++++++++----- osxphotos/photosdb/photosdb.py | 34 +++++++++-- .../RKVersion_searchIndexText.skindex | Bin 24576 -> 24576 bytes .../database/photos.db | Bin 2056192 -> 2056192 bytes .../PhotoAnalysisServicePreferences.plist | 4 +- .../PhotosGraph/photosgraph.graphdb | Bin 94208 -> 94208 bytes .../PhotosGraph/photosgraph.graphdb-shm | Bin 32768 -> 32768 bytes .../resources/moments/historicalmarker.plist | 2 +- .../resources/recovery/Info.plist | 4 +- .../recovery/RKVersion/0000000000.lij | Bin 172811 -> 174187 bytes tests/test_mojave_10_14_6.py | 2 +- 11 files changed, 74 insertions(+), 27 deletions(-) diff --git a/osxphotos/photoinfo/photoinfo.py b/osxphotos/photoinfo/photoinfo.py index debe12bf..a29c6329 100644 --- a/osxphotos/photoinfo/photoinfo.py +++ b/osxphotos/photoinfo/photoinfo.py @@ -68,11 +68,9 @@ class PhotoInfo: @property def filename(self): """ filename of the picture """ - # sourcery off - if self.has_raw and self.raw_original: - # return name of the RAW file - # TODO: not yet implemented - return self._info["filename"] + if self._db._db_version <= _PHOTOS_4_VERSION and self.has_raw and self.raw_original: + # return the JPEG version as that's what Photos 5+ does + return self._info["raw_pair_info"]["filename"] else: return self._info["filename"] @@ -80,7 +78,11 @@ class PhotoInfo: def original_filename(self): """ original filename of the picture Photos 5 mangles filenames upon import """ - return self._info["originalFilename"] + if self._db._db_version <= _PHOTOS_4_VERSION and self.has_raw and self.raw_original: + # return the JPEG version as that's what Photos 5+ does + return self._info["raw_pair_info"]["originalFilename"] + else: + return self._info["originalFilename"] @property def date(self): @@ -117,13 +119,32 @@ class PhotoInfo: return photopath # path would be meaningless until downloaded if self._db._db_version <= _PHOTOS_4_VERSION: - vol = self._info["volume"] - if vol is not None: - photopath = os.path.join("/Volumes", vol, self._info["imagePath"]) - else: - photopath = os.path.join( - self._db._masters_path, self._info["imagePath"] + if self._info["has_raw"]: + # return the path to JPEG even if RAW is original + vol = ( + self._db._dbvolumes[self._info["raw_pair_info"]["volumeId"]] + if self._info["raw_pair_info"]["volumeId"] is not None + else None ) + if vol is not None: + photopath = os.path.join( + "/Volumes", vol, self._info["raw_pair_info"]["imagePath"] + ) + else: + photopath = os.path.join( + self._db._masters_path, + self._info["raw_pair_info"]["imagePath"], + ) + else: + vol = self._info["volume"] + if vol is not None: + photopath = os.path.join( + "/Volumes", vol, self._info["imagePath"] + ) + else: + photopath = os.path.join( + self._db._masters_path, self._info["imagePath"] + ) self._path = photopath return photopath @@ -507,9 +528,13 @@ class PhotoInfo: for example: public.jpeg or com.apple.quicktime-movie """ if self._db._db_version <= _PHOTOS_4_VERSION: - return ( - self._info["UTI_edited"] if self.hasadjustments else self._info["UTI"] - ) + if self.hasadjustments: + return self._info["UTI_edited"] + elif self.has_raw and self.raw_original: + # return UTI of the non-raw image to match Photos 5+ behavior + return self._info["raw_pair_info"]["UTI"] + else: + return self._info["UTI"] else: return self._info["UTI"] diff --git a/osxphotos/photosdb/photosdb.py b/osxphotos/photosdb/photosdb.py index ed7b5a05..30116091 100644 --- a/osxphotos/photosdb/photosdb.py +++ b/osxphotos/photosdb/photosdb.py @@ -846,7 +846,8 @@ class PhotosDB: RKMaster.height, RKMaster.width, RKMaster.orientation, - RKMaster.fileSize + RKMaster.fileSize, + RKVersion.subType FROM RKVersion, RKMaster WHERE RKVersion.masterUuid = RKMaster.uuid""" ) @@ -873,7 +874,8 @@ class PhotosDB: RKMaster.height, RKMaster.width, RKMaster.orientation, - RKMaster.originalFileSize + RKMaster.originalFileSize, + RKVersion.subType FROM RKVersion, RKMaster WHERE RKVersion.masterUuid = RKMaster.uuid""" ) @@ -919,6 +921,7 @@ class PhotosDB: # 37 RKMaster.width, # 38 RKMaster.orientation, # 39 RKMaster.originalFileSize + # 40 RKVersion.subType for row in c: uuid = row[0] @@ -1062,10 +1065,20 @@ class PhotosDB: self._dbphotos[uuid]["cloudAvailable"] = None self._dbphotos[uuid]["incloud"] = None - # TODO: NOT YET USED -- PLACEHOLDER for RAW processing (currently only in _process_database5) # original resource choice (e.g. RAW or jpeg) - self._dbphotos[uuid]["original_resource_choice"] = None - self._dbphotos[uuid]["raw_is_original"] = None + # In Photos 5+, original_resource_choice set from: + # ZADDITIONALASSETATTRIBUTES.ZORIGINALRESOURCECHOICE + # = 0 if jpeg is selected as "original" in Photos (the default) + # = 1 if RAW is selected as "original" in Photos + # RKVersion.subType, RAW always appears to be 16 + # 4 = mov + # 16 = RAW + # 32 = JPEG + # 64 = TIFF + # 2048 = PNG + # 32768 = HIEC + self._dbphotos[uuid]["original_resource_choice"] = 1 if row[40] == 16 else 0 + self._dbphotos[uuid]["raw_is_original"] = True if row[40] == 16 else False # associated RAW image info self._dbphotos[uuid]["has_raw"] = True if row[25] == 7 else False @@ -1107,7 +1120,8 @@ class PhotosDB: RKMaster.modelID, RKMaster.fileSize, RKMaster.isTrulyRaw, - RKMaster.alternateMasterUuid + RKMaster.alternateMasterUuid, + RKMaster.filename FROM RKMaster """ ) @@ -1123,6 +1137,7 @@ class PhotosDB: # 7 RKMaster.fileSize, # 8 RKMaster.isTrulyRaw, # 9 RKMaster.alternateMasterUuid + # 10 RKMaster.filename for row in c: uuid = row[0] @@ -1137,6 +1152,7 @@ class PhotosDB: info["fileSize"] = row[7] info["isTrulyRAW"] = row[8] info["alternateMasterUuid"] = row[9] + info["filename"] = row[10] self._dbphotos_master[uuid] = info # get details needed to find path of the edited photos @@ -1336,6 +1352,12 @@ class PhotosDB: raw_uuid = info["raw_master_uuid"] info["raw_info"] = self._dbphotos_master[raw_uuid] info["UTI_raw"] = self._dbphotos_master[raw_uuid]["UTI"] + non_raw_uuid = info["non_raw_master_uuid"] + info["raw_pair_info"] = self._dbphotos_master[non_raw_uuid] + else: + info["raw_info"] = None + info["UTI_raw"] = None + info["raw_pair_info"] = None # done with the database connection conn.close() diff --git a/tests/Test-10.14.6.photoslibrary/database/RKVersion_searchIndexText.skindex b/tests/Test-10.14.6.photoslibrary/database/RKVersion_searchIndexText.skindex index dfe3a8a6e2d1bdb80e63d23c18f7f99f179ac653..2ae017ba137f213d97b07fb362c990c3ce6ecf90 100644 GIT binary patch delta 575 zcmb7<&npCB7{}k|eP?!Nc4k6rw=G+?wvnu~ZA%%{__e6D?Xp`A6ruP7oH%Tf6cJB~ zQcC#;j2xWS!Ntj4IZ?{lnddc;tEWD_@ALG1p6~P2>QJjgWN2+E%UC;OOef^a452P~*jgWl?5hnVG8$w3tiL+1tnpXf^yi-zU zCa5#FtykvQU>n%2&-ry_EP|Rf!(G>3u+GI*LRb?`fw*0|(pu7y{(O{J zCLGEy1AUyfP>77hSR?iFd%v8#6*!+%(aa4-rK(QUh$I0t(!+&Z%uZ0ocu>`Gr~ee~ zYRd1bZiCAC3b$}FpGqiVR#+k|xCo7V9V4aUG5nTrEB^uFsI(FL)^k1TI4yerc+VyT z1NOa?DwJ8p!t2toX~48;2pJkedEU?<9c?vKVfw4(45&gn;n~#7U(cMEFLV_5{&=2D zzr;DL+O|8?qlSMR4?xzibEJUJl}?DDS#|z{DoGkvOCfQiwl5 zFx!d635u3h);5BL|3TljE_}>mnBl$IQOcu~E4{O$H6lwy2KcHcmG_19+&5%j#WKiN z=e){1n_M<{CXw2oq#=j$qw4Ni^_dfS3YMi*G&(UIuib&U)6SUR63^Uj`93GZ?9SY3 z<8-0QI!O$s8nTfIUBCFKT)Xz6+%VhbE1U1dA$+%y0;n(43=#Wi(CQdmfEBQX9$qU? z6o77lsE%Fr;s*9X%g|;dj5cdGX!*GmSioQ;htc9v1VsT+f?`1#cq2cuC*$VSoz%w4 mXGbnv8QM<13 diff --git a/tests/Test-10.14.6.photoslibrary/database/photos.db b/tests/Test-10.14.6.photoslibrary/database/photos.db index 4f1e44fd6629dd0f0530acb3de075857b8b604c7..ede28c3ed2564d9eef4199140c31af1b65dd6c27 100644 GIT binary patch delta 733 zcmZ|MPe@cj90%~3dGEFVp8Iw!cUO1zz13QaG&D8ALy$p5fwHmLp-^Wn%Rs^EP=^)W z#n&E!dW$ZD#1jv7sLaKz1}s?X;6)EBWe^df7(^%@ii-YFlMCG%_`q-G%a7j=W?-go zV5ZOTyXygfU%5=a> z!scW&BXb2bnsJUflw|;wIiSob%gk-StU~9qPLGpss40be5w!EFD7le!ati0-+*~2I zmD|P@v5l-Jm2*1YIA$H=wn1A1dMf;8Hw^C;;lFFaSTZ~8<$PQ*SHk&Ob{OAnLuLo9 zn806cX4K+860j!P>BUdjOE2WGLXFRO(q@u;(2@_14&eftdx^)zc(>V32VUVdG2UXf z(cVS8D8`SQt@KtJFNg_ZcClyQa0f)@c^3SRkMZIhd+-(?gkqxJ?4<7u%&2i6_lxm; z=2^P-3o~S%Ve{koG#m^(QhiIv3TW@V)5EHl)P?E-xf%$d6xjR3Dp1OtF0D)!0T6Pm z4r@6U5H3Gx+`?y6Ge2OpgVu~;K11&_)AO0(o(S& z4aPJLeAWJ5^hiQNSoR{B#sEbiIqXwfMM!iocPNuQm4`<;OumI}X zoSaMJtI%C=z{)g$Kl!x`PVqn^+{*_t_<++&=du?H+|FR)8OvXq%2~-oG9f=^a61AD z^67beZw!oAv-4Q-@$9^LTY`XZ+0S3uX2^6Sr1`rBA@FqTNULtxrs7uuN>J%ix|J=; zR=Ht^>TOg1?S1Qg>1`S_#wdI)Z`8t<_5bYh{@Yck+KsT%qePTmB`WO(xqBLl6yN!f zd^5y|D|$HQuAJc)Kant>Y7;-NeI^Tr7~U))+%xESQ(7U`f075n9j@8m3iVxP2rkfSQ>l@H#Lg8)@hVwAtH5y@-!$uugDh&_D$ z7m-lxmMcwi63oON_w}qnL*w}sGb9sheVv3)Jr-%(G@S4h(JpBQ;{6y^C&nFen8e$< ve!^jKmlbcdI+1foTHE6vb~u5ts2Pi`;G;W+e*M^l49?=ZE)SiGKZAb&cd^Ht diff --git a/tests/Test-10.14.6.photoslibrary/private/com.apple.photoanalysisd/GraphService/PhotoAnalysisServicePreferences.plist b/tests/Test-10.14.6.photoslibrary/private/com.apple.photoanalysisd/GraphService/PhotoAnalysisServicePreferences.plist index 1e99f93e..02189263 100644 --- a/tests/Test-10.14.6.photoslibrary/private/com.apple.photoanalysisd/GraphService/PhotoAnalysisServicePreferences.plist +++ b/tests/Test-10.14.6.photoslibrary/private/com.apple.photoanalysisd/GraphService/PhotoAnalysisServicePreferences.plist @@ -3,8 +3,8 @@ PhotoAnalysisGraphLastBackgroundGraphRebuildJobDate - 2020-10-04T23:43:21Z + 2020-10-09T16:14:42Z PhotoAnalysisGraphLastBackgroundMemoryGenerationJobDate - 2020-10-05T04:14:45Z + 2020-10-09T19:48:34Z diff --git a/tests/Test-10.14.6.photoslibrary/private/com.apple.photoanalysisd/GraphService/PhotosGraph/photosgraph.graphdb b/tests/Test-10.14.6.photoslibrary/private/com.apple.photoanalysisd/GraphService/PhotosGraph/photosgraph.graphdb index 8f55e1aa3c1fc42160405aa71076a182f471b546..8b42ee7aecf3f23d8cbd68dbc63fe1a3da4200c8 100644 GIT binary patch literal 94208 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

WB$hu}2#(Hp)0NIcxCC+7o86_w6^_ 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 U;j#jo6ZM-0yWeOLuCUGZFUs7Ti~s-t literal 94208 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 o*Yri LastHistoryRowId - 947 + 948 LibraryBuildTag D8C4AAA1-3AB6-4A65-BEBD-99CC3E5D433E LibrarySchemaVersion diff --git a/tests/Test-10.14.6.photoslibrary/resources/recovery/Info.plist b/tests/Test-10.14.6.photoslibrary/resources/recovery/Info.plist index e71916e9..1d2de6d3 100644 --- a/tests/Test-10.14.6.photoslibrary/resources/recovery/Info.plist +++ b/tests/Test-10.14.6.photoslibrary/resources/recovery/Info.plist @@ -9,7 +9,7 @@ HistoricalMarker LastHistoryRowId - 947 + 948 LibraryBuildTag D8C4AAA1-3AB6-4A65-BEBD-99CC3E5D433E LibrarySchemaVersion @@ -24,7 +24,7 @@ SnapshotCompletedDate 2019-07-27T13:16:43Z SnapshotLastValidated - 2020-10-04T23:49:39Z + 2020-10-09T16:16:27Z SnapshotTables diff --git a/tests/Test-10.14.6.photoslibrary/resources/recovery/RKVersion/0000000000.lij b/tests/Test-10.14.6.photoslibrary/resources/recovery/RKVersion/0000000000.lij index 53ec356a197a37976e6e1b773d287e8342026d20..fc3febb5a86ace76217dae50eb182c8c4fa25ac8 100644 GIT binary patch delta 194 zcmeA^#`XFFS3?Wq7AEe+)Bj5_wM^&pWU`%p>_4N}R4yi=={&4VdeZ|vnPdb)ic(V* z0&)`bN(7kv1(}adKj6hA#>)T%EI=HPn3Kyool%-em63b;K}H}YI9=bHNsUo_`a&rt zbw;`Abs(N9L{J+dXao{eoNnO7#L8$1*0ueRG*cMk^k5&RrPDcmm;@NtPnYsxQkniq emPwjt-IDdCuLKwbqy?F`Om_S#I$ckW$q)dKO*F&+ delta 13 UcmaETfvfu%S3?Wq7AEe+04)jyiU0rr diff --git a/tests/test_mojave_10_14_6.py b/tests/test_mojave_10_14_6.py index cef5d73d..2fe39af7 100644 --- a/tests/test_mojave_10_14_6.py +++ b/tests/test_mojave_10_14_6.py @@ -76,7 +76,7 @@ UUID_UTI_DICT = { None, ], "oTiMG6OfSP6d%nUTEOfvMg": [ - "com.canon.cr2-raw-image", + "public.jpeg", "com.canon.cr2-raw-image", "com.canon.cr2-raw-image", None,