Feature date added 998 (#1003)

* Implemented --date-added, #998

* Added --date-added-from-photo

* Fixed typehint
This commit is contained in:
Rhet Turnbull
2023-02-25 14:38:49 -08:00
committed by GitHub
parent 0e1613f134
commit 94f484e9ec
7 changed files with 390 additions and 24 deletions

View File

@@ -1,12 +1,34 @@
""" Parse --inspect and --compare-exif output for testing"""
from __future__ import annotations
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"],
[
"filename",
"uuid",
"date_local",
"date_tz",
"tz_offset",
"tz_name",
],
)
InspectValuesDateAdded = namedtuple(
"InspectValues",
[
"filename",
"uuid",
"date_local",
"date_tz",
"tz_offset",
"tz_name",
"date_added",
],
)
CompareValues = namedtuple(
@@ -22,7 +44,9 @@ CompareValues = namedtuple(
)
def parse_inspect_output(output: str) -> List[InspectValues]:
def parse_inspect_output(
output: str, date_added: bool = False
) -> List[InspectValues] | List[InspectValuesDateAdded]:
"""Parse output of --inspect and return list of InspectValues named tuple"""
lines = [line for line in output.split("\n") if line.strip()]
@@ -32,7 +56,12 @@ def parse_inspect_output(output: str) -> List[InspectValues]:
for line in lines:
parts = line.split(",")
parts = [part.strip() for part in parts]
values.append(InspectValues(*parts))
if not date_added:
# remove date added
parts.pop()
values.append(InspectValues(*parts))
else:
values.append(InspectValuesDateAdded(*parts))
return values