mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-03-24 00:58:22 +03:00
More time parsing improvements
This commit is contained in:
parent
45c6be47d2
commit
eb9f16b4fa
@ -3,6 +3,7 @@
|
|||||||
import base64
|
import base64
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
import time
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
@ -162,23 +163,26 @@ async def _execute_search_objects(
|
|||||||
This searches for detected objects (events) in Frigate using the same
|
This searches for detected objects (events) in Frigate using the same
|
||||||
logic as the events API endpoint.
|
logic as the events API endpoint.
|
||||||
"""
|
"""
|
||||||
# Parse ISO 8601 timestamps to Unix timestamps if provided
|
# Parse after/before as server local time; convert to Unix timestamp
|
||||||
after = arguments.get("after")
|
after = arguments.get("after")
|
||||||
before = arguments.get("before")
|
before = arguments.get("before")
|
||||||
|
|
||||||
|
def _parse_as_local_timestamp(s: str):
|
||||||
|
s = s.replace("Z", "").strip()[:19]
|
||||||
|
dt = datetime.strptime(s, "%Y-%m-%dT%H:%M:%S")
|
||||||
|
return time.mktime(dt.timetuple())
|
||||||
|
|
||||||
if after:
|
if after:
|
||||||
try:
|
try:
|
||||||
after_dt = datetime.fromisoformat(after.replace("Z", "+00:00"))
|
after = _parse_as_local_timestamp(after)
|
||||||
after = after_dt.timestamp()
|
except (ValueError, AttributeError, TypeError):
|
||||||
except (ValueError, AttributeError):
|
|
||||||
logger.warning(f"Invalid 'after' timestamp format: {after}")
|
logger.warning(f"Invalid 'after' timestamp format: {after}")
|
||||||
after = None
|
after = None
|
||||||
|
|
||||||
if before:
|
if before:
|
||||||
try:
|
try:
|
||||||
before_dt = datetime.fromisoformat(before.replace("Z", "+00:00"))
|
before = _parse_as_local_timestamp(before)
|
||||||
before = before_dt.timestamp()
|
except (ValueError, AttributeError, TypeError):
|
||||||
except (ValueError, AttributeError):
|
|
||||||
logger.warning(f"Invalid 'before' timestamp format: {before}")
|
logger.warning(f"Invalid 'before' timestamp format: {before}")
|
||||||
before = None
|
before = None
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user