You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
714 B
21 lines
714 B
3 years ago
|
import datetime
|
||
|
|
||
|
TIME_FMT = "%Y-%m-%d--%H-%M-%S"
|
||
|
|
||
|
# regex patterns
|
||
|
class RE:
|
||
|
DONGLE_ID = r'(?P<dongle_id>[a-z0-9]{16})'
|
||
|
TIMESTAMP = r'(?P<timestamp>[0-9]{4}-[0-9]{2}-[0-9]{2}--[0-9]{2}-[0-9]{2}-[0-9]{2})'
|
||
|
ROUTE_NAME = r'{}[|_/]{}'.format(DONGLE_ID, TIMESTAMP)
|
||
|
SEGMENT_NAME = r'{}(?:--|/)(?P<segment_num>[0-9]+)'.format(ROUTE_NAME)
|
||
|
BOOTLOG_NAME = ROUTE_NAME
|
||
|
|
||
|
EXPLORER_FILE = r'^(?P<segment_name>{})--(?P<file_name>[a-z]+\.[a-z0-9]+)$'.format(SEGMENT_NAME)
|
||
|
OP_SEGMENT_DIR = r'^(?P<segment_name>{})$'.format(SEGMENT_NAME)
|
||
|
|
||
|
def timestamp_to_datetime(t: str) -> datetime.datetime:
|
||
|
"""
|
||
|
Convert an openpilot route timestamp to a python datetime
|
||
|
"""
|
||
|
return datetime.datetime.strptime(t, TIME_FMT)
|