osxphotos/tests/parse_timewarp_output.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

50 lines
1.4 KiB
Python

""" Parse --inspect and --compare-exif output for testing"""
from collections import namedtuple
from typing import List
# filename, uuid, photo time (local), photo time, timezone offset, timezone name
InspectValues = namedtuple(
"InspectValues",
["filename", "uuid", "date_local", "date_tz", "tz_offset", "tz_name"],
)
CompareValues = namedtuple(
"CompareValues",
[
"filename",
"uuid",
"date_photos",
"date_exif",
"tz_offset_photos",
"tz_offset_exif",
],
)
def parse_inspect_output(output: str) -> List[InspectValues]:
"""Parse output of --inspect and return list of InspectValues named tuple"""
lines = [line for line in output.split("\n") if line.strip()]
# remove header
lines.pop(0)
values = []
for line in lines:
parts = line.split(",")
parts = [part.strip() for part in parts]
values.append(InspectValues(*parts))
return values
def parse_compare_exif(output: str) -> List[CompareValues]:
"""Parse output of --compare-exif and return list of CompareValues named tuple"""
lines = [line for line in output.split("\n") if line.strip()]
# remove header
lines.pop(0)
values = []
for line in lines:
parts = line.split(",")
parts = [part.strip() for part in parts]
values.append(CompareValues(*parts))
return values