osxphotos/tests/config_timewarp_catalina.py
Rhet Turnbull 0c293d0bf5
Refactor verbose 931 (#960)
* Began refactoring verbose code for #931

* Fixed tests for timewarp due to verbose refactor

* Updated test data

* More refactoring for #931

* Refactored queryoptions.py

* Refactored queryoptions.py

* Refactored queryoptions.py

* Refactored echo_error

* Refactored debug

* Refactored debug

* Refactored use of verbose in export

* Refactored use of verbose in export

* Refactred --verbose in add-locations and debug-dump

* Refactored --verbose for

* Refactored --verbose for osxphotos exportdb

* Refactored --verbose for osxphotos import

* Refactored --verbose for osxphotos orphans

* Refactored --verbose for osxphotos snap-diff

* Refactored --verbose for osxphotos sync

* Refactored --verbose for osxphotos timewarp

* Added default verbose() function to verbose
2023-01-28 17:44:20 -08:00

397 lines
12 KiB
Python

""" Test data for timewarp command on Catalina/Photos 5 """
import datetime
import pathlib
import time
from tests.parse_timewarp_output import CompareValues, InspectValues
TEST_LIBRARY_TIMEWARP = "tests/TestTimeWarp-10.15.7.photoslibrary"
def is_dst() -> bool:
"""Return True if daylight savings time is in effect"""
return bool(time.localtime().tm_isdst)
def get_file_timestamp(file: str) -> str:
"""Get timestamp of file"""
return datetime.datetime.fromtimestamp(pathlib.Path(file).stat().st_mtime).strftime(
"%Y-%m-%d %H:%M:%S"
)
CATALINA_PHOTOS_5 = {
"filenames": {
"pumpkins": "IMG_6522.jpeg",
"pears": "IMG_6501.jpeg",
"sunflowers": "IMG_6520.jpeg",
"apple tree": "IMG_6526.jpeg",
"marigold flowers": "IMG_6517.jpeg",
"multi-colored zinnia flowers": "IMG_6506.jpeg",
"sunset": "IMG_6551.mov",
"palm tree": "20230120_010203-0400.jpg",
},
"inspect": {
# IMG_6501.jpeg
"uuid": "2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"expected": [
InspectValues(
"IMG_6501.jpeg",
"2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"2021-10-02 12:40:07-0700",
"2021-10-02 12:40:07-0700",
"-0700",
"GMT-0700",
)
],
},
"date": {
# IMG_6501.jpeg
"uuid": "2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"value": "2020-09-01",
"date": datetime.datetime(2020, 9, 1, 12, 40, 7),
},
"date_delta": {
# IMG_6501.jpeg
"uuid": "2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"parameters": [
("1", "2020-09-02 12:40:07-0700"),
("1 day", "2020-09-03 12:40:07-0700"),
("1 week", "2020-09-10 12:40:07-0700"),
("-1", "2020-09-09 12:40:07-0700"),
("-1 day", "2020-09-08 12:40:07-0700"),
("-1 week", "2020-09-01 12:40:07-0700"),
],
},
"time": {
# IMG_6501.jpeg
"uuid": "2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"parameters": [
("14:42", "2020-09-01 14:42:00-0700"),
("14:42:30", "2020-09-01 14:42:30-0700"),
# Photos doesn't return the milliseconds
("14:42:31.234", "2020-09-01 14:42:31-0700"),
],
},
"time_delta": {
# IMG_6501.jpeg
# Format is one of '±HH:MM:SS', '±H hours' (or hr), '±M minutes' (or min), '±S seconds' (or sec), '±S'(where S is seconds)
"uuid": "2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"parameters": [
("1:10:20", "2020-09-01 15:52:51-0700"),
("1 hours", "2020-09-01 16:52:51-0700"),
("1", "2020-09-01 16:52:52-0700"),
("+1", "2020-09-01 16:52:53-0700"),
("-1", "2020-09-01 16:52:52-0700"),
("-1 hour", "2020-09-01 15:52:52-0700"),
("3 minutes", "2020-09-01 15:55:52-0700"),
("3 min", "2020-09-01 15:58:52-0700"),
("-6 min", "2020-09-01 15:52:52-0700"),
("+10 sec", "2020-09-01 15:53:02-0700"),
],
},
"time_zone": {
# IMG_6501.jpeg
# Format is one of '±HH:MM', '±H:MM', or '±HHMM'
"uuid": "2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"parameters": [
("-06:00", "2020-09-01 16:53:02-0600", "-0600"),
],
},
"compare_exif": {
# IMG_6501.jpeg
# filename, uuid, photo time (Photos), photo time (EXIF), timezone offset (Photos), timezone offset (EXIF)
# IMG_6501.jpeg, 2F00448D-3C0D-477A-9B10-5F21DCAB405A, 2020-09-01 16:53:02, 2021-10-02 12:40:07, -0600, -0700
"uuid": "2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"expected": [
CompareValues(
"IMG_6501.jpeg",
"2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"2020-09-01 16:53:02",
"2021-10-02 12:40:07",
"-0600",
"-0700",
),
],
},
"compare_exif_add_to_album": {
# IMG_6501.jpeg
"uuid": "2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"expected": [("found 1 that is different", "Different EXIF")],
},
"compare_exif_3": {
# IMG_6520.jpeg
# IMG_6520.jpeg, 53615D56-91F7-4908-81F1-B93B5DEA7449, 2021-10-02 12:54:36, , -0700,
"uuid": "53615D56-91F7-4908-81F1-B93B5DEA7449",
"expected": [
CompareValues(
"IMG_6520.jpeg",
"53615D56-91F7-4908-81F1-B93B5DEA7449",
"2021-10-02 12:54:36",
"",
"-0700",
"",
),
],
},
"match": { # IMG_6520.jpeg
# IMG_6520.jpeg, 53615D56-91F7-4908-81F1-B93B5DEA7449, 2021-10-02 12:54:36, , -0700,
"uuid": "53615D56-91F7-4908-81F1-B93B5DEA7449",
"parameters": [
("-0500", "2021-10-02 12:54:36-0500"),
("+01:00", "2021-10-02 12:54:36+0100"),
],
},
"exiftool": {
# IMG_6522.jpeg
"uuid": "FD1E3A36-3E65-48AF-9B14-DCFF65A9D3D2",
# match,tz_value,time_delta_value,expected_date,exif_date,exif_offset
"parameters": [
(
True,
"-0300",
"+1 hour",
"2021-10-02 13:56:11-0300",
"2021:10:02 13:56:11",
"-03:00",
),
(
False,
"-0400",
"+2 hours",
"2021-10-02 14:56:11-0400",
"2021:10:02 14:56:11",
"-04:00",
),
],
},
"push_exif": {
# IMG_6501.jpeg
"pre": CompareValues(
"IMG_6501.jpeg",
"2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"2020-09-01 16:53:02",
"2021-10-02 12:40:07",
"-0600",
"-0700",
),
"post": CompareValues(
"IMG_6501.jpeg",
"2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"2020-09-01 16:53:02",
"2020-09-01 16:53:02",
"-0600",
"-0600",
),
},
"pull_exif_1": {
# IMG_6501.jpeg
"pre": CompareValues(
"IMG_6501.jpeg",
"2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"2020-09-02 16:53:02",
"2020-09-01 16:53:02",
"-0400",
"-0600",
),
"post": CompareValues(
"IMG_6501.jpeg",
"2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"2020-09-01 16:53:02",
"2020-09-01 16:53:02",
"-0600",
"-0600",
),
},
"pull_exif_no_time": {
# IMG_6526.jpeg (apple tree)
"pre": CompareValues(
"IMG_6526.jpeg",
"1A61156A-5747-42DE-A9B3-4A468CC49D9E",
"2021-10-02 15:15:00",
"2021-10-02 00:00:00",
"-0400",
"-0700",
),
"post": CompareValues(
"IMG_6526.jpeg",
"1A61156A-5747-42DE-A9B3-4A468CC49D9E",
"2021-10-02 00:00:00",
"2021-10-02 00:00:00",
"-0700",
"-0700",
),
},
"pull_exif_no_offset": {
# IMG_6517.jpeg
"pre": CompareValues(
"IMG_6517.jpeg",
"C4D952AF-983D-438E-9070-6310B1BC4826",
"2021-10-02 12:50:00",
"2021-10-02 12:51:15",
"-0700",
"",
),
"post": CompareValues(
"IMG_6517.jpeg",
"C4D952AF-983D-438E-9070-6310B1BC4826",
"2021-10-02 12:51:15",
"2021-10-02 12:51:15",
"-0700",
"",
),
},
"pull_exif_no_data": {
# IMG_6506.jpeg (zinnia flowers)
"pre": CompareValues(
"IMG_6506.jpeg",
"7E9DF2EE-A5B0-4077-80EC-30565221A3B9",
"2021-10-08 16:11:09",
"",
"-0700",
"",
),
"post": CompareValues(
"IMG_6506.jpeg",
"7E9DF2EE-A5B0-4077-80EC-30565221A3B9",
"2021-10-08 16:11:09",
"",
"-0700",
"",
),
},
"pull_exif_no_data_use_file_time": {
# IMG_6506.jpeg (zinnia flowers)
"pre": CompareValues(
"IMG_6506.jpeg",
"7E9DF2EE-A5B0-4077-80EC-30565221A3B9",
"2021-10-08 16:11:09",
"",
"-0700",
"",
),
"post": CompareValues(
"IMG_6506.jpeg",
"7E9DF2EE-A5B0-4077-80EC-30565221A3B9",
get_file_timestamp(
f"{TEST_LIBRARY_TIMEWARP}/originals/7/7E9DF2EE-A5B0-4077-80EC-30565221A3B9.jpeg"
),
"",
"-0700",
"",
),
},
"compare_video_1": {
# IMG_6551.mov
"expected": [
CompareValues(
"IMG_6551.mov",
"16BEC0BE-4188-44F1-A8F1-7250E978AD12",
"2021-10-04 19:01:03",
"2021-10-04 19:01:03",
"-0700",
"-0700",
)
]
},
"video_date_delta": {
# IMG_6551.mov
"parameters": [("-1 day", "2021-10-03 19:01:03-0700")]
},
"video_time_delta": {
# IMG_6551.mov
"parameters": [("+1 hour", "2021-10-03 20:01:03-0700")]
},
"video_date": {
# IMG_6551.mov
"parameters": [("2021-10-04", "2021-10-04 20:01:03-0700")]
},
"video_time": {
# IMG_6551.mov
"parameters": [("20:00:00", "2021-10-04 20:00:00-0700")]
},
"video_time_zone": {
# IMG_6551.mov
"parameters": [("-0400", "2021-10-04 23:00:00-0400", "-0400")]
},
"video_match": {
# IMG_6551.mov
"parameters": [("-0200", "2021-10-04 23:00:00-0200")]
},
"video_push_exif": {
# IMG_6551.mov
"pre": CompareValues(
"IMG_6551.mov",
"16BEC0BE-4188-44F1-A8F1-7250E978AD12",
"2021-10-04 23:00:00",
"2021-10-04 19:01:03",
"-0200",
"-0700",
),
"post": CompareValues(
"IMG_6551.mov",
"16BEC0BE-4188-44F1-A8F1-7250E978AD12",
"2021-10-04 23:00:00",
"2021-10-04 23:00:00",
"-0200",
"-0200",
),
},
"video_pull_exif": {
# IMG_6551.jpeg
"pre": CompareValues(
"IMG_6551.mov",
"16BEC0BE-4188-44F1-A8F1-7250E978AD12",
"2021-10-05 13:00:00",
"2021-10-04 23:00:00",
"-0500",
"-0200",
),
"post": CompareValues(
"IMG_6551.mov",
"16BEC0BE-4188-44F1-A8F1-7250E978AD12",
"2021-10-04 23:00:00",
"2021-10-04 23:00:00",
"-0200",
"-0200",
),
},
"function": {
# IMG_6501.jpeg
"uuid": "2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"expected": InspectValues(
"IMG_6501.jpeg",
"2F00448D-3C0D-477A-9B10-5F21DCAB405A",
"2020-09-01 18:53:02-0700",
"2020-09-01 18:53:02-0700",
"-0700",
"GMT-0700",
),
},
"parse_date": {
# 20230120_010203-0400.jpg
"uuid": "5285C4E2-BB1A-49DF-AEF5-246AA337ACAB",
"expected": InspectValues(
"20230120_010203-0400.jpg",
"5285C4E2-BB1A-49DF-AEF5-246AA337ACAB",
"2023-01-20 01:02:03-0800" if not is_dst() else "2023-01-20 00:02:03-0700",
"2023-01-20 01:02:03-0800" if not is_dst() else "2023-01-20 00:02:03-0700",
"-0800",
"GMT-0800",
),
},
"parse_date_tz": {
# 20230120_010203-0400.jpg
"uuid": "5285C4E2-BB1A-49DF-AEF5-246AA337ACAB",
"expected": InspectValues(
"20230120_010203-0400.jpg",
"5285C4E2-BB1A-49DF-AEF5-246AA337ACAB",
"2023-01-19 21:02:03-0800" if not is_dst() else "2023-01-19 20:02:03-0700",
"2023-01-20 01:02:03-0400",
"-0400",
"GMT-0400",
),
},
}