diff --git a/README.md b/README.md index ce118990..af46f932 100644 --- a/README.md +++ b/README.md @@ -14,15 +14,17 @@ - [Open the default Photos library](#open-the-default-photos-library) - [Open System Photos library](#open-system-photos-library) - [Open a specific Photos library](#open-a-specific-photos-library) - - [```keywords```](#keywords) - - [```albums```](#albums) - - [```persons```](#persons) - - [```keywords_as_dict```](#keywords_as_dict) - - [```persons_as_dict```](#persons_as_dict) - - [```albums_as_dict```](#albums_as_dict) - - [```library_path```](#library_path) - - [```db_path```](#db_path) - - [```db_version```](#db_version) + - [`keywords`](#keywords) + - [`albums`](#albums) + - [`albums_shared`](#albums_shared) + - [`persons`](#persons) + - [`keywords_as_dict`](#keywords_as_dict) + - [`persons_as_dict`](#persons_as_dict) + - [`albums_as_dict`](#albums_as_dict) + - [`albums_shared_as_dict`](#albums_shared_as_dict) + - [`library_path`](#library_path) + - [`db_path`](#db_path) + - [`db_version`](#db_version) - [`photos(keywords=[], uuid=[], persons=[], albums=[])`](#photoskeywords-uuid-persons-albums) + [PhotoInfo](#photoinfo) - [`uuid`](#uuid) @@ -31,9 +33,9 @@ - [`date`](#date) - [`description`](#description) - [`title`](#title) - - [`keywords`](#keywords) - - [`albums`](#albums) - - [`persons`](#persons) + - [`keywords`](#keywords-1) + - [`albums`](#albums-1) + - [`persons`](#persons-1) - [`path`](#path) - [`path_edited`](#path_edited) - [`ismissing`](#ismissing) @@ -42,6 +44,7 @@ - [`favorite`](#favorite) - [`hidden`](#hidden) - [`location`](#location) + - [`shared`](#shared) - [`json()`](#json) - [`export(dest, *filename, edited=False, overwrite=False, increment=True, sidecar=False)`](#exportdest-filename-editedfalse-overwritefalse-incrementtrue-sidecarfalse) + [Utility Functions](#utility-functions) @@ -56,7 +59,6 @@ * [Implementation Notes](#implementation-notes) * [Dependencies](#dependencies) * [Acknowledgements](#acknowledgements) - ## What is osxphotos? @@ -283,7 +285,7 @@ Pass the fully qualified path to the Photos library or the actual database file Returns a PhotosDB object. -#### ```keywords``` +#### `keywords` ```python # assumes photosdb is a PhotosDB object (see above) keywords = photosdb.keywords @@ -291,7 +293,7 @@ keywords = photosdb.keywords Returns a list of the keywords found in the Photos library -#### ```albums``` +#### `albums` ```python # assumes photosdb is a PhotosDB object (see above) albums = photosdb.albums @@ -301,7 +303,13 @@ Returns a list of the albums found in the Photos library. **Note**: In Photos 5.0 (MacOS 10.15/Catalina), It is possible to have more than one album with the same name in Photos. Albums with duplicate names are treated as a single album and the photos in each are combined. For example, if you have two albums named "Wedding" and each has 2 photos, osxphotos will treat this as a single album named "Wedding" with 4 photos in it. -#### ```persons``` +#### `albums_shared` + +Returns list of shared albums found in photos database (e.g. albums shared via iCloud photo sharing) + +**Note**: *Only valid for Photos 5 / MacOS 10.15*; on Photos <= 4, prints warning and returns empty list. + +#### `persons` ```python # assumes photosdb is a PhotosDB object (see above) persons = photosdb.persons @@ -309,7 +317,7 @@ persons = photosdb.persons Returns a list of the persons (faces) found in the Photos library -#### ```keywords_as_dict``` +#### `keywords_as_dict` ```python # assumes photosdb is a PhotosDB object (see above) keyword_dict = photosdb.keywords_as_dict @@ -317,7 +325,7 @@ keyword_dict = photosdb.keywords_as_dict Returns a dictionary of keywords found in the Photos library where key is the keyword and value is the count of how many times that keyword appears in the library (ie. how many photos are tagged with the keyword). Resulting dictionary is in reverse sorted order (e.g. keyword with the highest count is first). -#### ```persons_as_dict``` +#### `persons_as_dict` ```python # assumes photosdb is a PhotosDB object (see above) persons_dict = photosdb.persons_as_dict @@ -325,7 +333,7 @@ persons_dict = photosdb.persons_as_dict Returns a dictionary of persons (faces) found in the Photos library where key is the person name and value is the count of how many times that person appears in the library (ie. how many photos are tagged with the person). Resulting dictionary is in reverse sorted order (e.g. person who appears in the most photos is listed first). -#### ```albums_as_dict``` +#### `albums_as_dict` ```python # assumes photosdb is a PhotosDB object (see above) albums_dict = photosdb.albums_as_dict @@ -335,7 +343,17 @@ Returns a dictionary of albums found in the Photos library where key is the albu **Note**: In Photos 5.0 (MacOS 10.15/Catalina), It is possible to have more than one album with the same name in Photos. Albums with duplicate names are treated as a single album and the photos in each are combined. For example, if you have two albums named "Wedding" and each has 2 photos, osxphotos will treat this as a single album named "Wedding" with 4 photos in it. -#### ```library_path``` +#### `albums_shared_as_dict` +```python +# assumes photosdb is a PhotosDB object (see above) +albums_shared_dict = photosdb.albums_shared_as_dict +``` + +Returns a dictionary of shared albums (e.g. shared via iCloud photo sharing) found in the Photos library where key is the album name and value is the count of how many photos are in the album. Resulting dictionary is in reverse sorted order (e.g. album with the most photos is listed first). + +**Note**: *Photos 5 / MacOS 10.15 only*. On earlier versions of Photos, prints warning and returns empty dictionary. + +#### `library_path` ```python # assumes photosdb is a PhotosDB object (see above) photosdb.library_path @@ -343,7 +361,7 @@ photosdb.library_path Returns the path to the Photos library as a string -#### ```db_path``` +#### `db_path` ```python # assumes photosdb is a PhotosDB object (see above) photosdb.db_path @@ -351,7 +369,7 @@ photosdb.db_path Returns the path to the Photos database PhotosDB was initialized with -#### ```db_version``` +#### `db_version` ```python # assumes photosdb is a PhotosDB object (see above) photosdb.db_version @@ -481,6 +499,11 @@ Returns `True` if the picture has been marked as hidden, otherwise `False` #### `location` Returns latitude and longitude as a tuple of floats (latitude, longitude). If location is not set, latitude and longitude are returned as `None` +#### `shared` +Returns True if photo is in a shared album, otherwise False. + +**Note**: *Only valid on Photos 5 / MacOS 10.15*; on Photos <= 4, returns None instead of True/False. + #### `json()` Returns a JSON representation of all photo info diff --git a/osxphotos/_version.py b/osxphotos/_version.py index 36238e16..bf2c0143 100644 --- a/osxphotos/_version.py +++ b/osxphotos/_version.py @@ -1,3 +1,3 @@ """ version info """ -__version__ = "0.17.08" +__version__ = "0.18.00" diff --git a/osxphotos/photosdb.py b/osxphotos/photosdb.py index 5f8e332d..40b679e8 100644 --- a/osxphotos/photosdb.py +++ b/osxphotos/photosdb.py @@ -200,7 +200,39 @@ class PhotosDB: def albums_as_dict(self): """ return albums as dict of albums, count in reverse sorted order (descending) """ albums = {} - for k in self._dbalbums_album.keys(): + album_keys = [ + k + for k in self._dbalbums_album.keys() + if self._dbalbum_details[k]["cloudownerhashedpersonid"] is None + ] + for k in album_keys: + title = self._dbalbum_details[k]["title"] + if title in albums: + albums[title] += len(self._dbalbums_album[k]) + else: + albums[title] = len(self._dbalbums_album[k]) + albums = dict(sorted(albums.items(), key=lambda kv: kv[1], reverse=True)) + return albums + + @property + def albums_shared_as_dict(self): + """ returns shared albums as dict of albums, count in reverse sorted order (descending) + valid only on Photos 5; on Photos <= 4, prints warning and returns empty dict """ + + # if _dbalbum_details[key]["cloudownerhashedpersonid"] is not None, then it's a shared album + if self._db_version < _PHOTOS_5_VERSION: + logging.warning( + f"albums_shared not implemented for Photos versions < {_PHOTOS_5_VERSION}" + ) + return {} + + albums = {} + album_keys = [ + k + for k in self._dbalbums_album.keys() + if self._dbalbum_details[k]["cloudownerhashedpersonid"] is not None + ] + for k in album_keys: title = self._dbalbum_details[k]["title"] if title in albums: albums[title] += len(self._dbalbums_album[k]) @@ -224,10 +256,43 @@ class PhotosDB: @property def albums(self): """ return list of albums found in photos database """ + # Could be more than one album with same name # Right now, they are treated as same album and photos are combined from albums with same name + albums = set() - for album in self._dbalbums_album.keys(): + album_keys = [ + k + for k in self._dbalbums_album.keys() + if self._dbalbum_details[k]["cloudownerhashedpersonid"] is None + ] + for album in album_keys: + albums.add(self._dbalbum_details[album]["title"]) + return list(albums) + + @property + def albums_shared(self): + """ return list of shared albums found in photos database + only valid for Photos 5; on Photos <= 4, prints warning and returns empty list """ + + # Could be more than one album with same name + # Right now, they are treated as same album and photos are combined from albums with same name + + # if _dbalbum_details[key]["cloudownerhashedpersonid"] is not None, then it's a shared album + + if self._db_version < _PHOTOS_5_VERSION: + logging.warning( + f"albums_shared not implemented for Photos versions < {_PHOTOS_5_VERSION}" + ) + return [] + + albums = set() + album_keys = [ + k + for k in self._dbalbums_album.keys() + if self._dbalbum_details[k]["cloudownerhashedpersonid"] is not None + ] + for album in album_keys: albums.add(self._dbalbum_details[album]["title"]) return list(albums) @@ -854,7 +919,7 @@ class PhotosDB: # 13 "ZGENERICASSET.ZLATITUDE, " # 14 "ZGENERICASSET.ZLONGITUDE, " # 15 "ZGENERICASSET.ZHASADJUSTMENTS " - # 16 "ZCLOUDOWNERHASHEDPERSONID " + # 16 "ZCLOUDOWNERHASHEDPERSONID " -- If not null, indicates a shared photo i = 0 for row in c: @@ -862,11 +927,6 @@ class PhotosDB: uuid = row[0] logging.debug(f"i = {i:d}, uuid = '{uuid}") - # TODO: temporary fix for shared cloud photos - # if row[16] is not None: - # logging.debug(f"skipping shared cloud photo {uuid}, ZCLOUDOWNERHASHEDPERSONID: {row[16]}") - # continue - self._dbphotos[uuid] = {} self._dbphotos[uuid]["_uuid"] = uuid # stored here for easier debugging self._dbphotos[uuid]["modelID"] = None @@ -900,7 +960,7 @@ class PhotosDB: self._dbphotos[uuid]["longitude"] = row[14] self._dbphotos[uuid]["hasAdjustments"] = row[15] - + self._dbphotos[uuid]["cloudOwnerHashedPersonID"] = row[16] self._dbphotos[uuid]["shared"] = True if row[16] is not None else False diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/DataModelVersion.plist b/tests/Test-Shared-10.15.1.photoslibrary/database/DataModelVersion.plist new file mode 100644 index 00000000..be9740fe --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/database/DataModelVersion.plist @@ -0,0 +1,10 @@ + + + + + LibrarySchemaVersion + 5001 + MetaSchemaVersion + 3 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/Photos.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/database/Photos.sqlite new file mode 100644 index 00000000..364af67c Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/database/Photos.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/metaSchema.db b/tests/Test-Shared-10.15.1.photoslibrary/database/metaSchema.db new file mode 100644 index 00000000..2d75bd40 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/database/metaSchema.db differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/photos.db b/tests/Test-Shared-10.15.1.photoslibrary/database/photos.db new file mode 100644 index 00000000..2d75bd40 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/database/photos.db differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/protection b/tests/Test-Shared-10.15.1.photoslibrary/database/protection new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/graphDataProgress.plist b/tests/Test-Shared-10.15.1.photoslibrary/database/search/graphDataProgress.plist new file mode 100644 index 00000000..c4e5e427 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/database/search/graphDataProgress.plist differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite new file mode 100644 index 00000000..4ab71e6c Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm new file mode 100644 index 00000000..e76cba04 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-wal b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-wal new file mode 100644 index 00000000..ba98074e Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/database/search/psi.sqlite-wal differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/searchMetadata.plist b/tests/Test-Shared-10.15.1.photoslibrary/database/search/searchMetadata.plist new file mode 100644 index 00000000..89aa2a1d --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/database/search/searchMetadata.plist @@ -0,0 +1,186 @@ + + + + + BlacklistedMeaningsByMeaning + + SceneWhitelist + + Graduation + Aquarium + Food + Ice Skating + Mountain + Cliff + Basketball + Tennis + Jewelry + Cheese + Softball + Football + Circus + Jet Ski + Playground + Carousel + Paint Ball + Windsurfing + Sailboat + Sunbathing + Dam + Fireplace + Flower + Scuba + Hiking + Cetacean + Pier + Bowling + Snowboarding + Zoo + Snowmobile + Theater + Boat + Casino + Car + Diving + Cycling + Musical Instrument + Board Game + Castle + Sunset Sunrise + Martial Arts + Motocross + Submarine + Cat + Snow + Kiteboarding + Squash + Geyser + Music + Archery + Desert + Blackjack + Fireworks + Sportscar + Feline + Soccer + Museum + Baby + Fencing + Railroad + Nascar + Sky Surfing + Bird + Games + Baseball + Dressage + Snorkeling + Pyramid + Kite + Rowboat + Golf + Watersports + Lightning + Canyon + Auditorium + Night Sky + Karaoke + Skiing + Parade + Forest + Hot Air Balloon + Dragon Parade + Easter Egg + Monument + Jungle + Thanksgiving + Jockey Horse + Stadium + Airplane + Ballet + Yoga + Coral Reef + Skating + Wrestling + Bicycle + Tattoo + Amusement Park + Canoe + Cheerleading + Ping Pong + Fishing + Magic + Reptile + Winter Sport + Waterfall + Train + Bonsai + Surfing + Dog + Cake + Sledding + Sandcastle + Glacier + Lighthouse + Equestrian + Rafting + Shore + Hockey + Santa Claus + Formula One Car + Sport + Vehicle + Boxing + Rollerskating + Underwater + Orchestra + Carnival + Rocket + Skateboarding + Helicopter + Performance + Oktoberfest + Water Polo + Skate Park + Animal + Nightclub + String Instrument + Dinosaur + Gymnastics + Cricket + Volcano + Lake + Aurora + Dancing + Concert + Rock Climbing + Hang Glider + Rodeo + Fish + Art + Motorcycle + Volleyball + Wake Boarding + Badminton + Motor Sport + Sumo + Parasailing + Skydiving + Kickboxing + Pinata + Foosball + Go Kart + Poker + Kayak + Swimming + Atv + Beach + Dartboard + Athletics + Camping + Tornado + Billiards + Rugby + Airshow + + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/searchProgress.plist b/tests/Test-Shared-10.15.1.photoslibrary/database/search/searchProgress.plist new file mode 100644 index 00000000..ad779080 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/database/search/searchProgress.plist @@ -0,0 +1,26 @@ + + + + + insertAlbum + + insertAsset + + insertHighlight + + insertMemory + + insertMoment + + removeAlbum + + removeAsset + + removeHighlight + + removeMemory + + removeMoment + + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/searchSystemInfo.plist b/tests/Test-Shared-10.15.1.photoslibrary/database/search/searchSystemInfo.plist new file mode 100644 index 00000000..f6d69ef7 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/database/search/searchSystemInfo.plist @@ -0,0 +1,14 @@ + + + + + embeddingVersion + 1 + localeIdentifier + en_US + sceneTaxonomySHA + 87914a047c69fbe8013fad2c70fa70c6c03b08b56190fe4054c880e6b9f57cc3 + searchIndexVersion + 10 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/synonymsProcess.plist b/tests/Test-Shared-10.15.1.photoslibrary/database/search/synonymsProcess.plist new file mode 100644 index 00000000..79cdd085 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/database/search/synonymsProcess.plist differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/database/search/zeroKeywords.data b/tests/Test-Shared-10.15.1.photoslibrary/database/search/zeroKeywords.data new file mode 100644 index 00000000..cb4f7e5e Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/database/search/zeroKeywords.data differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/originals/3/37210110-E940-4227-92D3-45C40F68EB0A.jpeg b/tests/Test-Shared-10.15.1.photoslibrary/originals/3/37210110-E940-4227-92D3-45C40F68EB0A.jpeg new file mode 100644 index 00000000..ecaea3fa Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/originals/3/37210110-E940-4227-92D3-45C40F68EB0A.jpeg differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.Photos/appPrivateData.plist b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.Photos/appPrivateData.plist new file mode 100644 index 00000000..52cadb6b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.Photos/appPrivateData.plist @@ -0,0 +1,38 @@ + + + + + CollapsedSidebarSectionIdentifiers + + ExpandedSidebarItemIdentifiers + + PXSharedAlbumsVirtualCollection + 13A08E24-F8C0-458F-9D29-BDDCAE13BB00/L0/020 + + lastAddToDestination + + YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS + AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGuCwwZGhshJy40NTY6PkFVJG51 + bGzWDQ4PEBESExQVFhcYXxAwSVBYTmF2aWdhdGlvbkRlc3RpbmF0aW9uQXV4aWxpYXJ5 + U3RvcmVBcmNoaXZlS2V5XxAzSVBYTmF2aWdhdGlvbkRlc3RpbmF0aW9uUGFyZW50RGVz + dGluYXRpb25BcmNoaXZlS2V5XxBCSVBYTmF2aWdhdGlvbkRlc3RpbmF0aW9uUmVxdWly + ZWREZXN0aW5hdGlvbkF1eGlsaWFyeUtleXNBcmNoaXZlS2V5XxAnSVBYTmF2aWdhdGlv + bkRlc3RpbmF0aW9uVGl0bGVBcmNoaXZlS2V5XxAsSVBYTmF2aWdhdGlvbkRlc3RpbmF0 + aW9uSWRlbnRpZmllckFyY2hpdmVLZXlWJGNsYXNzgASAAIALgAOAAoANXxAWY29tLmFw + cGxlLnBob3Rvcy5hbGJ1bVtQaG90byBTaG9vdNMcHRIeHyBfEDFVWEF1eGlsaWFyeU5h + dmlnYXRpb25TdG9yZU5hbWVzcGFjZURpY3RBcmNoaXZlS2V5XxAuVVhBdXhpbGlhcnlO + YXZpZ2F0aW9uU3RvcmVHbG9iYWxEaWN0QXJjaGl2ZUtleYAFgAeACtMiIxIkJSZXTlMu + a2V5c1pOUy5vYmplY3RzoKCABtIoKSorWiRjbGFzc25hbWVYJGNsYXNzZXNfEBNOU011 + dGFibGVEaWN0aW9uYXJ5oyosLVxOU0RpY3Rpb25hcnlYTlNPYmplY3TTIiMSLzEmoTCA + CKEygAmABl8QHklQWFBob3Rvc09iamVjdExvY2FsSWRlbnRpZmllcl8QKzIwRjlGNzEy + LTQwMTMtNDFBOC1BMUYzLURERUIyRUYwRUI1NC9MMC8wNDDSKCk3OF8QG1VYRGVzdGlu + YXRpb25BdXhpbGlhcnlTdG9yZaI5LV8QG1VYRGVzdGluYXRpb25BdXhpbGlhcnlTdG9y + ZdIjEjs9oTCACIAM0igpP0BVTlNTZXSiPy3SKClCQ18QGElQWE5hdmlnYXRpb25EZXN0 + aW5hdGlvbqJELV8QGElQWE5hdmlnYXRpb25EZXN0aW5hdGlvbgAIABEAGgAkACkAMgA3 + AEkATABRAFMAYgBoAHUAqADeASMBTQF8AYMBhQGHAYkBiwGNAY8BqAG0AbsB7wIgAiIC + JAImAi0CNQJAAkECQgJEAkkCVAJdAnMCdwKEAo0ClAKWApgCmgKcAp4CvwLtAvIDEAMT + AzEDNgM4AzoDPANBA0cDSgNPA2oDbQAAAAAAAAIBAAAAAAAAAEUAAAAAAAAAAAAAAAAA + AAOI + + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite new file mode 100644 index 00000000..be8e07be Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite new file mode 100644 index 00000000..97c1cefd Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite new file mode 100644 index 00000000..f8797010 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite new file mode 100644 index 00000000..8dcc1ff0 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite new file mode 100644 index 00000000..6b413365 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm new file mode 100644 index 00000000..f7d535bd Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal new file mode 100644 index 00000000..6da6a679 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite new file mode 100644 index 00000000..a40d80b4 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite new file mode 100644 index 00000000..b0964d3e Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite new file mode 100644 index 00000000..4ab71e6c Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm new file mode 100644 index 00000000..e531ccdb Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal new file mode 100644 index 00000000..2060f925 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist new file mode 100644 index 00000000..0ffe7e55 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist new file mode 100644 index 00000000..5dd5ecb4 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist @@ -0,0 +1,26 @@ + + + + + BackgroundHighlightCollection + 2019-12-27T03:55:20Z + BackgroundHighlightEnrichment + 2019-12-27T03:55:20Z + BackgroundJobAssetRevGeocode + 2019-12-27T03:55:20Z + BackgroundJobSearch + 2019-12-27T03:55:20Z + BackgroundPeopleSuggestion + 2019-12-27T03:55:20Z + BackgroundUserBehaviorProcessor + 2019-12-27T03:55:21Z + PhotoAnalysisGraphLastBackgroundGraphConsistencyUpdateJobDateKey + 2019-12-27T03:55:23Z + PhotoAnalysisGraphLastBackgroundGraphRebuildJobDate + 2019-12-27T03:55:20Z + PhotoAnalysisGraphLastBackgroundMemoryGenerationJobDate + 2019-12-27T03:55:21Z + SiriPortraitDonation + 2019-12-27T03:55:21Z + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb new file mode 100644 index 00000000..4ab71e6c Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb new file mode 100644 index 00000000..4ab71e6c Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb new file mode 100644 index 00000000..4ab71e6c Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb new file mode 100644 index 00000000..b82db64c Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-shm b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-wal b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/changetoken.plist b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/changetoken.plist new file mode 100644 index 00000000..ee16a0ac Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/changetoken.plist differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/revgeoprovider.plist b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/revgeoprovider.plist new file mode 100644 index 00000000..bf8f1e5d --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/graph/revgeoprovider.plist @@ -0,0 +1,8 @@ + + + + + revgeoprovider + 7618 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/AlgoFaceClusterCache.data b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/AlgoFaceClusterCache.data new file mode 100644 index 00000000..13f5d7fa Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/AlgoFaceClusterCache.data differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PersonPromoter b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PersonPromoter new file mode 100644 index 00000000..798c98a5 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PersonPromoter @@ -0,0 +1,12 @@ + + + + + NumberOfFacesProcessedOnLastRun + 0 + ProcessedInQuiescentState + + Version + 4 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist new file mode 100644 index 00000000..151884ac --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist @@ -0,0 +1,8 @@ + + + + + LastContactClassificationKey + 2019-12-27T03:55:22Z + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/clustererState.plist b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/clustererState.plist new file mode 100644 index 00000000..cb4560b6 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/clustererState.plist @@ -0,0 +1,8 @@ + + + + + PVClustererBringUpState + 50 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist new file mode 100644 index 00000000..9fce1421 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist @@ -0,0 +1,10 @@ + + + + + IncrementalPersonProcessingStage + 6 + PersonBuilderLastMinimumFaceGroupSizeForCreatingMergeCandidates + 15 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photolibraryd/appPrivateData.plist b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photolibraryd/appPrivateData.plist new file mode 100644 index 00000000..2120d8ee --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photolibraryd/appPrivateData.plist @@ -0,0 +1,8 @@ + + + + + PLLibraryServicesManager.LocaleIdentifier + en_US + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photolibraryd/caches/CreateDatabase_20191226-195434-08:00 b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photolibraryd/caches/CreateDatabase_20191226-195434-08:00 new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photolibraryd/caches/clientservertransaction/B390DA73-2903-4980-9BDE-0DC88EA1BC7C b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photolibraryd/caches/clientservertransaction/B390DA73-2903-4980-9BDE-0DC88EA1BC7C new file mode 100644 index 00000000..5142c798 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/private/com.apple.photolibraryd/caches/clientservertransaction/B390DA73-2903-4980-9BDE-0DC88EA1BC7C differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/caches/sharedAssetsPrefetchCount.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/caches/sharedAssetsPrefetchCount.plist new file mode 100644 index 00000000..b7fcbea2 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/caches/sharedAssetsPrefetchCount.plist @@ -0,0 +1,12 @@ + + + + + date + 2019-12-27T04:12:36Z + derivativesCount + 2 + thumbnailsCount + 0 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/17058154511/9F9A2608-AFE0-4232-A0DC-5ABA7317B978/35243F7D-88C4-4408-B516-C74406E90C15.JPG b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/17058154511/9F9A2608-AFE0-4232-A0DC-5ABA7317B978/35243F7D-88C4-4408-B516-C74406E90C15.JPG new file mode 100644 index 00000000..72c33379 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/17058154511/9F9A2608-AFE0-4232-A0DC-5ABA7317B978/35243F7D-88C4-4408-B516-C74406E90C15.JPG differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/17058154511/9F9A2608-AFE0-4232-A0DC-5ABA7317B978/9D671650-B2FD-4760-84CA-FD25AF622C63.JPG b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/17058154511/9F9A2608-AFE0-4232-A0DC-5ABA7317B978/9D671650-B2FD-4760-84CA-FD25AF622C63.JPG new file mode 100644 index 00000000..0335ac8f Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/17058154511/9F9A2608-AFE0-4232-A0DC-5ABA7317B978/9D671650-B2FD-4760-84CA-FD25AF622C63.JPG differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/17058154511/9F9A2608-AFE0-4232-A0DC-5ABA7317B978/Info.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/17058154511/9F9A2608-AFE0-4232-A0DC-5ABA7317B978/Info.plist new file mode 100644 index 00000000..dfe38fc7 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/17058154511/9F9A2608-AFE0-4232-A0DC-5ABA7317B978/Info.plist @@ -0,0 +1,22 @@ + + + + + cloudOwnerEmail + rhettbull@mac.com + cloudOwnerFirstName + Rhet + cloudOwnerHashedPersonID + 01cac7cde8a8767251a2cdd183b8ed490fc6e87825f4a495389e824a41a01ba7 + cloudOwnerLastName + Turnbull + cloudPublicURLEnabled + 0 + cloudRelationshipState + 2 + cloudSubscriptionDate + 2019-12-27T04:16:49Z + title + osxphotos + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/cloudSharedEmails.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/cloudSharedEmails.plist new file mode 100644 index 00000000..103e9cdd --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/cloudSharedEmails.plist @@ -0,0 +1,8 @@ + + + + + rhettbull@mac.com + 2 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/cloudSharedPersonInfos.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/cloudSharedPersonInfos.plist new file mode 100644 index 00000000..53b07de4 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/cloudSharedPersonInfos.plist @@ -0,0 +1,35 @@ + + + + + 01cac7cde8a8767251a2cdd183b8ed490fc6e87825f4a495389e824a41a01ba7 + + email + rhettbull@mac.com + firstName + Rhet + fullName + Rhet Turnbull + lastName + Turnbull + + 20d4816ae2cf97606e685eaa167b6aa863ddd258bc33ff84ebb40140cab74622 + + email + rturnbull2@gmail.com + firstName + Wallace + fullName + Wallace Rutherford + lastName + Rutherford + + 2221EED2-5C25-4BAF-95C0-9B4F08BC1F98 + + emails + + rturnbull2@gmail.com + + + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/personID b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/personID new file mode 100644 index 00000000..a91b827b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/personID @@ -0,0 +1 @@ +17058154511 \ No newline at end of file diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/serverconfiguration b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/serverconfiguration new file mode 100644 index 00000000..e9cd740d --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/data/serverconfiguration @@ -0,0 +1,107 @@ + + + + + com.apple.sharedstreams.config.configVersion + 1.8 + com.apple.sharedstreams.config.defaultRetryAfterInSeconds + + com.apple.sharedstreams.config.dimensions.invites + 308:399:547:308:399:547:152:197:270:152:197:270:100:130:178:100:130:178 + com.apple.sharedstreams.config.dimensions.preview + 1536:2048:5400 + com.apple.sharedstreams.config.dimensions.thumbnail + 256:332:455 + com.apple.sharedstreams.config.dimensions.videoposterframe + 1280:720 + com.apple.sharedstreams.config.maxActiveTimeAfterGlobalResetSync + 600 + com.apple.sharedstreams.config.maxActiveTimeAfterLossOfForeground + 120 + com.apple.sharedstreams.config.maxActiveTimeAfterPush + 60 + com.apple.sharedstreams.config.maxMMCSTokenValidity + 1200 + com.apple.sharedstreams.config.maxNumDerivativesToDownloadPerPush + 15 + com.apple.sharedstreams.config.maxNumDerivativesToPrefetchPerDay + 50 + com.apple.sharedstreams.config.maxNumInvites.daily + 200 + com.apple.sharedstreams.config.maxNumPhotosToSendInShareAction + 1 + com.apple.sharedstreams.config.maxNumPhotosToShare.daily + 10000 + com.apple.sharedstreams.config.maxNumPhotosToShare.hourly + 1000 + com.apple.sharedstreams.config.maxNumRetriesOnFailure.content + 5 + com.apple.sharedstreams.config.maxNumRetriesOnFailure.network + 10 + com.apple.sharedstreams.config.maxNumRetriesOnFailure.server + 5 + com.apple.sharedstreams.config.maxUploadAssetBatchSize + 5 + com.apple.sharedstreams.config.maxVideoDurationInSeconds + 900 + com.apple.sharedstreams.config.maxnum.charactersPerComment + 1024 + com.apple.sharedstreams.config.maxnum.commentsPerPhoto + 200 + com.apple.sharedstreams.config.maxnum.ownedAlbums + 200 + com.apple.sharedstreams.config.maxnum.photosPerAlbum + 5000 + com.apple.sharedstreams.config.maxnum.subscribedAlbums + 200 + com.apple.sharedstreams.config.maxnum.subscribersPerAlbum + 100 + com.apple.sharedstreams.config.maxpixels.preview + 3145728 + com.apple.sharedstreams.config.maxpixels.thumbnail + 172800 + com.apple.sharedstreams.config.prevVersion + 1.7 + com.apple.sharedstreams.config.switch.3G + 1 + com.apple.sharedstreams.config.switch.comments + 1 + com.apple.sharedstreams.config.videoderivatives + + + bitRate + 0.84 + cellular + 1 + powerRequired + 0 + videoType + PosterFrame + + + bitRate + 2.8 + cellular + 1 + powerRequired + 1 + videoType + 720p + + + bitRate + 0.84 + cellular + 1 + powerRequired + 0 + videoType + 360p + + + mme.basephotos.config.defaultRetryAfterInSeconds + 60 + mme.sharedstreams.client.downloadMMCSBatchSize + 6 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/resources/derivatives/masters/3/35243F7D-88C4-4408-B516-C74406E90C15_4_5005_c.jpeg b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/resources/derivatives/masters/3/35243F7D-88C4-4408-B516-C74406E90C15_4_5005_c.jpeg new file mode 100644 index 00000000..6bfc8b6c Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/resources/derivatives/masters/3/35243F7D-88C4-4408-B516-C74406E90C15_4_5005_c.jpeg differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/resources/derivatives/masters/9/9D671650-B2FD-4760-84CA-FD25AF622C63_4_5005_c.jpeg b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/resources/derivatives/masters/9/9D671650-B2FD-4760-84CA-FD25AF622C63_4_5005_c.jpeg new file mode 100644 index 00000000..72492f39 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/cloudsharing/resources/derivatives/masters/9/9D671650-B2FD-4760-84CA-FD25AF622C63_4_5005_c.jpeg differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/DownloadCounts.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/DownloadCounts.plist new file mode 100644 index 00000000..b888e18d --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/DownloadCounts.plist @@ -0,0 +1,10 @@ + + + + + CountKeyImages + 1 + CountKeyVideos + 0 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/cloudphotos-1.0.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/cloudphotos-1.0.plist new file mode 100644 index 00000000..64edd68b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/cloudphotos-1.0.plist @@ -0,0 +1,82 @@ + + + + + configuration + + client.request.throttle + + forget-after + 3600 + give-up-after + 1800 + start-after + 2 + wait-at-least + 2 + wait-at-most + 60 + + max.days.inRecentlyDeleted + 30 + max.num.photosToImport.daily + 50000 + max.num.photosToImport.hourly + 5000 + max.num.recordsToUploadPerBatch + 200 + max.num.resourcesToDownloadPerPush + 30 + max.num.resourcesToUploadPerBatch + 8 + photo.derivatives + + + pixels + 172800 + type + thumbnail + + + pixels + 3145728 + type + preview + + + pixels + 8388608 + type + fullSize + + + refresh.interval.seconds + 7200 + video.derivatives + + + pixels + 921600 + type + PosterFrame + + + pixels + 230400 + type + PosterFrameThumbnail + + + type + 720p + + + type + 360p + + + + lastUpdate + 2019-12-27T04:12:27Z + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/cpl_download_finished_marker b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/cpl_download_finished_marker new file mode 100644 index 00000000..69d3f508 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/cpl_download_finished_marker @@ -0,0 +1 @@ +2019-12-26 20.15.43.474 \ No newline at end of file diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/cpl_enabled_marker b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/cpl_enabled_marker new file mode 100644 index 00000000..e3b8bff4 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/cpl_enabled_marker @@ -0,0 +1 @@ +2019-12-26 20.12.30.797 \ No newline at end of file diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/initialsync_marker b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/initialsync_marker new file mode 100644 index 00000000..77eff276 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/initialsync_marker @@ -0,0 +1 @@ +2019-12-26 20.15.43.424 \ No newline at end of file diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/mobileCPL.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/mobileCPL.plist new file mode 100644 index 00000000..8f08fcb1 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/mobileCPL.plist @@ -0,0 +1,23 @@ + + + + + cloudVersion + 16B1936C-248E-480A-BD75-6406D987F9C6 + localVersionToken + + YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS + AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGnCwwRGRobIVUkbnVsbNINDg8Q + ViRjbGFzc18QIk5TUGVyc2lzdGVudEhpc3RvcnlUb2tlbkRpY3Rpb25hcnmABoAC0xIT + DRQWGFdOUy5rZXlzWk5TLm9iamVjdHOhFYADoReABIAFXxAkODcyRUIyNjItMEE3Mi00 + NkRGLThCQUUtRUI0MDMxQTMwNkRBEDvSHB0eH1okY2xhc3NuYW1lWCRjbGFzc2VzXE5T + RGljdGlvbmFyeaIeIFhOU09iamVjdNIcHSIjXxAZX05TUGVyc2lzdGVudEhpc3RvcnlU + b2tlbqMkJSBfEBlfTlNQZXJzaXN0ZW50SGlzdG9yeVRva2VuXxAYTlNQZXJzaXN0ZW50 + SGlzdG9yeVRva2VuAAgAEQAaACQAKQAyADcASQBMAFEAUwBbAGEAZgBtAJIAlACWAJ0A + pQCwALIAtAC2ALgAugDhAOMA6ADzAPwBCQEMARUBGgE2AToBVgAAAAAAAAIBAAAAAAAA + ACYAAAAAAAAAAAAAAAAAAAFx + + storeUUID + 872EB262-0A72-46DF-8BAE-EB4031A306DA + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb new file mode 100644 index 00000000..4ab71e6c Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb-shm b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb-shm new file mode 100644 index 00000000..bc00aaa9 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb-shm differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb-wal b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb-wal new file mode 100644 index 00000000..bad4ee76 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb-wal differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/syncstatus.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/syncstatus.plist new file mode 100644 index 00000000..e124d870 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/cpl/cloudsync.noindex/syncstatus.plist @@ -0,0 +1,37 @@ + + + + + accountFlags + + CAEQABgB + + cloudAssetCountPerType + + public.image + 1 + public.movie + 0 + + cloudAssetCountPerTypeLastCheckDate + 2019-12-27T04:14:42Z + constrainedNetwork + + hasBatteryBudgetKey + + hasCellularBudgetKey + + hasChangesToProcess + + hasValidSystemBudgetKey + + iCloudLibraryExists + + initialSyncDate + 2019-12-27T04:15:43Z + lastCompletePrefetchDate + 2019-12-27T04:15:43Z + lastSyncDate + 2019-12-27T04:16:48Z + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/3/37210110-E940-4227-92D3-45C40F68EB0A_1_105_c.jpeg b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/3/37210110-E940-4227-92D3-45C40F68EB0A_1_105_c.jpeg new file mode 100644 index 00000000..22551bc9 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/3/37210110-E940-4227-92D3-45C40F68EB0A_1_105_c.jpeg differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/masters/3/37210110-E940-4227-92D3-45C40F68EB0A_4_5005_c.jpeg b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/masters/3/37210110-E940-4227-92D3-45C40F68EB0A_4_5005_c.jpeg new file mode 100644 index 00000000..aa8aa8cb Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/masters/3/37210110-E940-4227-92D3-45C40F68EB0A_4_5005_c.jpeg differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/3305.ithmb b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/3305.ithmb new file mode 100644 index 00000000..bb173c19 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/3305.ithmb differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/4031.ithmb b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/4031.ithmb new file mode 100644 index 00000000..fc5f9945 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/4031.ithmb differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/4132.ithmb b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/4132.ithmb new file mode 100644 index 00000000..b244a6f1 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/4132.ithmb differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/thumbnailConfiguration b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/thumbnailConfiguration new file mode 100644 index 00000000..8c122be1 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/derivatives/thumbs/thumbnailConfiguration @@ -0,0 +1,10 @@ + + + + + PLThumbnailManagerThumbnailFormatKey + 5005 + PLThumbnailManagerVersionKey + 28 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Album-change.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Album-change.plj new file mode 100644 index 00000000..34a7e04d Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Album-change.plj differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Album-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Album-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Album.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Album.plist new file mode 100644 index 00000000..14c9281b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Album.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Asset-change.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Asset-change.plj new file mode 100644 index 00000000..12096764 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Asset-change.plj differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Asset-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Asset-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Asset.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Asset.plist new file mode 100644 index 00000000..77906f87 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Asset.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 10 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 10 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DeferredRebuildFace-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DeferredRebuildFace-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DeferredRebuildFace.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DeferredRebuildFace.plist new file mode 100644 index 00000000..14c9281b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DeferredRebuildFace.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DetectedFace-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DetectedFace-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DetectedFace.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DetectedFace.plist new file mode 100644 index 00000000..14c9281b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/DetectedFace.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FetchingAlbum-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FetchingAlbum-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FetchingAlbum.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FetchingAlbum.plist new file mode 100644 index 00000000..f2153f26 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FetchingAlbum.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 2 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 2 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FileSystemVolume-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FileSystemVolume-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FileSystemVolume.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FileSystemVolume.plist new file mode 100644 index 00000000..14c9281b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/FileSystemVolume.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Folder-change.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Folder-change.plj new file mode 100644 index 00000000..007637ab Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Folder-change.plj differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Folder-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Folder-snapshot.plj new file mode 100644 index 00000000..2c8c0eb6 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Folder-snapshot.plj differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Folder.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Folder.plist new file mode 100644 index 00000000..14c9281b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Folder.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/HistoryToken.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/HistoryToken.plist new file mode 100644 index 00000000..53243313 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/HistoryToken.plist differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ImportSession-change.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ImportSession-change.plj new file mode 100644 index 00000000..111738f6 Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ImportSession-change.plj differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ImportSession-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ImportSession-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ImportSession.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ImportSession.plist new file mode 100644 index 00000000..14c9281b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ImportSession.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Keyword-change.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Keyword-change.plj new file mode 100644 index 00000000..504d202e Binary files /dev/null and b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Keyword-change.plj differ diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Keyword-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Keyword-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Keyword.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Keyword.plist new file mode 100644 index 00000000..14c9281b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Keyword.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Memory-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Memory-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Memory.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Memory.plist new file mode 100644 index 00000000..14c9281b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Memory.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Person-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Person-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Person.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Person.plist new file mode 100644 index 00000000..14c9281b --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/Person.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:36Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ProjectAlbum-snapshot.plj b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ProjectAlbum-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ProjectAlbum.plist b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ProjectAlbum.plist new file mode 100644 index 00000000..86586082 --- /dev/null +++ b/tests/Test-Shared-10.15.1.photoslibrary/resources/journals/ProjectAlbum.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-12-27T03:54:35Z + snapshotPayloadVersion + 1 + + diff --git a/tests/test_shared_catalina_10_15_1.py b/tests/test_shared_catalina_10_15_1.py new file mode 100644 index 00000000..0e1ba9de --- /dev/null +++ b/tests/test_shared_catalina_10_15_1.py @@ -0,0 +1,107 @@ +import pytest + + +# TODO: put some of this code into a pre-function + +PHOTOS_DB = "./tests/Test-Shared-10.15.1.photoslibrary/database/photos.db" +PHOTOS_DB_PATH = "/Test-Shared-10.15.1.photoslibrary/database/Photos.sqlite" +PHOTOS_LIBRARY_PATH = "/Test-Shared-10.15.1.photoslibrary" + +KEYWORDS = ["portrait"] +# Photos 5 includes blank person for detected face +PERSONS = [] +ALBUMS = ["Photo Shoot"] +ALBUMS_SHARED = ["osxphotos"] + +UUID_DICT = { + "missing": "9D671650-B2FD-4760-84CA-FD25AF622C63", + "notmissing": "35243F7D-88C4-4408-B516-C74406E90C15", +} + +UUID_SHARED = [ + "9D671650-B2FD-4760-84CA-FD25AF622C63", + "35243F7D-88C4-4408-B516-C74406E90C15", +] + +UUID_NOT_SHARED = ["37210110-E940-4227-92D3-45C40F68EB0A"] + + +def test_albums(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + albums = photosdb.albums + + assert len(albums) == 1 + assert albums[0] == ALBUMS[0] + + +def test_albums_shared(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + albums_shared = photosdb.albums_shared + + assert len(albums_shared) == 1 + assert albums_shared[0] == ALBUMS_SHARED[0] + + +def test_albums_as_dict(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + albums_as_dict = photosdb.albums_as_dict + + assert len(albums_as_dict) == 1 + assert albums_as_dict[ALBUMS[0]] == 1 + + +def test_albums_shared_as_dict(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + albums_shared_as_dict = photosdb.albums_shared_as_dict + + assert len(albums_shared_as_dict) == 1 + assert albums_shared_as_dict[ALBUMS_SHARED[0]] == 2 + + +def test_missing_share(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = [p for p in photosdb.photos() if p.ismissing] + + assert len(photos) == 1 + assert photos[0].uuid == UUID_DICT["missing"] + + +def test_shared(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = [p for p in photosdb.photos() if p.shared] + assert len(photos) == len(UUID_SHARED) + for p in photos: + assert p.uuid in UUID_SHARED + + +def test_not_shared(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = [p for p in photosdb.photos() if not p.shared] + assert len(photos) == 1 + for p in photos: + assert p.uuid in UUID_NOT_SHARED + + +def test_query_shared_album(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = photosdb.photos(albums=[ALBUMS_SHARED[0]]) + + assert len(photos) == len(UUID_SHARED) + for p in photos: + assert p.uuid in UUID_SHARED diff --git a/tests/test_shared_mojave_10_14_6.py b/tests/test_shared_mojave_10_14_6.py new file mode 100644 index 00000000..645ae864 --- /dev/null +++ b/tests/test_shared_mojave_10_14_6.py @@ -0,0 +1,68 @@ +import pytest + + +# TODO: put some of this code into a pre-function + +PHOTOS_DB = "./tests/Test-10.14.6.photoslibrary/database/photos.db" +PHOTOS_DB_PATH = "/Test-10.14.6.photoslibrary/database/Photos.sqlite" +PHOTOS_LIBRARY_PATH = "/Test-10.14.6.photoslibrary" + +ALBUMS = ["Pumpkin Farm", "Test Album", "Test Album (1)"] +ALBUM_DICT = {"Pumpkin Farm": 3, "Test Album": 1, "Test Album (1)": 1} + + +def test_albums(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + albums = photosdb.albums + + assert len(albums) == len(ALBUMS) + for album in albums: + assert album in ALBUMS + + +def test_albums_shared(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + albums_shared = photosdb.albums_shared + + assert len(albums_shared) == 0 + + +def test_albums_as_dict(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + albums_as_dict = photosdb.albums_as_dict + + for album in albums_as_dict: + assert album in ALBUM_DICT + assert albums_as_dict[album] == ALBUM_DICT[album] + + +def test_albums_shared_as_dict(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + albums_shared_as_dict = photosdb.albums_shared_as_dict + + assert albums_shared_as_dict == {} + + +def test_shared(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = [p for p in photosdb.photos() if p.shared] + assert len(photos) == 0 + + +def test_not_shared(): + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = [p for p in photosdb.photos() if not p.shared] + assert len(photos) == 7 +