Filename: minor refactor (#35927)

* Filename

* rest of refactor
pull/35931/head
Harald Schäfer 3 days ago committed by GitHub
parent c35494c19f
commit 96313fa4c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 14
      tools/lib/logreader.py
  2. 53
      tools/lib/route.py

@ -21,8 +21,7 @@ from openpilot.common.swaglog import cloudlog
from openpilot.tools.lib.comma_car_segments import get_url as get_comma_segments_url from openpilot.tools.lib.comma_car_segments import get_url as get_comma_segments_url
from openpilot.tools.lib.openpilotci import get_url from openpilot.tools.lib.openpilotci import get_url
from openpilot.tools.lib.filereader import DATA_ENDPOINT, FileReader, file_exists, internal_source_available from openpilot.tools.lib.filereader import DATA_ENDPOINT, FileReader, file_exists, internal_source_available
from openpilot.tools.lib.route import QCAMERA_FILENAMES, CAMERA_FILENAMES, DCAMERA_FILENAMES, \ from openpilot.tools.lib.route import Route, SegmentRange, FileName
ECAMERA_FILENAMES, BOOTLOG_FILENAMES, Route, SegmentRange
from openpilot.tools.lib.log_time_series import msgs_to_time_series from openpilot.tools.lib.log_time_series import msgs_to_time_series
LogMessage = type[capnp._DynamicStructReader] LogMessage = type[capnp._DynamicStructReader]
@ -102,17 +101,6 @@ class ReadMode(enum.StrEnum):
AUTO_INTERACTIVE = "i" # default to rlogs, fallback to qlogs with a prompt from the user AUTO_INTERACTIVE = "i" # default to rlogs, fallback to qlogs with a prompt from the user
class FileName(enum.Enum):
#TODO use the ones from route.py
RLOG = ("rlog.zst", "rlog.bz2")
QLOG = ("qlog.zst", "qlog.bz2")
QCAMERA = QCAMERA_FILENAMES
FCAMERA = CAMERA_FILENAMES
ECAMERA = ECAMERA_FILENAMES
DCAMERA = DCAMERA_FILENAMES
BOOTLOG = BOOTLOG_FILENAMES
LogPath = str | None LogPath = str | None
Source = Callable[[SegmentRange, FileName], list[LogPath]] Source = Callable[[SegmentRange, FileName], list[LogPath]]

@ -1,5 +1,6 @@
import os import os
import re import re
import enum
import requests import requests
from functools import cache from functools import cache
from urllib.parse import urlparse from urllib.parse import urlparse
@ -10,14 +11,16 @@ from openpilot.tools.lib.auth_config import get_token
from openpilot.tools.lib.api import APIError, CommaApi from openpilot.tools.lib.api import APIError, CommaApi
from openpilot.tools.lib.helpers import RE from openpilot.tools.lib.helpers import RE
QLOG_FILENAMES = ('qlog.bz2', 'qlog.zst', 'qlog')
QCAMERA_FILENAMES = ('qcamera.ts',)
LOG_FILENAMES = ('rlog.bz2', 'raw_log.bz2', 'rlog.zst', 'rlog')
CAMERA_FILENAMES = ('fcamera.hevc', 'video.hevc')
DCAMERA_FILENAMES = ('dcamera.hevc',)
ECAMERA_FILENAMES = ('ecamera.hevc',)
BOOTLOG_FILENAMES = ('bootlog.zst', 'bootlog.bz2', 'bootlog')
class FileName(enum.Enum):
#TODO use the ones from route.py
RLOG = ("rlog.zst", "rlog.bz2")
QLOG = ("qlog.zst", "qlog.bz2")
QCAMERA = ('qcamera.ts',)
FCAMERA = ('fcamera.hevc',)
ECAMERA = ('ecamera.hevc',)
DCAMERA = ('dcamera.hevc',)
BOOTLOG = ('bootlog.zst', 'bootlog.bz2')
class Route: class Route:
def __init__(self, name, data_dir=None): def __init__(self, name, data_dir=None):
@ -82,23 +85,23 @@ class Route:
if segments.get(segment_name): if segments.get(segment_name):
segments[segment_name] = Segment( segments[segment_name] = Segment(
segment_name, segment_name,
url if fn in LOG_FILENAMES else segments[segment_name].log_path, url if fn in FileName.RLOG else segments[segment_name].log_path,
url if fn in QLOG_FILENAMES else segments[segment_name].qlog_path, url if fn in FileName.QLOG else segments[segment_name].qlog_path,
url if fn in CAMERA_FILENAMES else segments[segment_name].camera_path, url if fn in FileName.FCAMERA else segments[segment_name].camera_path,
url if fn in DCAMERA_FILENAMES else segments[segment_name].dcamera_path, url if fn in FileName.DCAMERA else segments[segment_name].dcamera_path,
url if fn in ECAMERA_FILENAMES else segments[segment_name].ecamera_path, url if fn in FileName.ECAMERA else segments[segment_name].ecamera_path,
url if fn in QCAMERA_FILENAMES else segments[segment_name].qcamera_path, url if fn in FileName.QCAMERA else segments[segment_name].qcamera_path,
self.metadata['url'], self.metadata['url'],
) )
else: else:
segments[segment_name] = Segment( segments[segment_name] = Segment(
segment_name, segment_name,
url if fn in LOG_FILENAMES else None, url if fn in FileName.RLOG else None,
url if fn in QLOG_FILENAMES else None, url if fn in FileName.QLOG else None,
url if fn in CAMERA_FILENAMES else None, url if fn in FileName.FCAMERA else None,
url if fn in DCAMERA_FILENAMES else None, url if fn in FileName.DCAMERA else None,
url if fn in ECAMERA_FILENAMES else None, url if fn in FileName.ECAMERA else None,
url if fn in QCAMERA_FILENAMES else None, url if fn in FileName.QCAMERA else None,
self.metadata['url'], self.metadata['url'],
) )
@ -136,32 +139,32 @@ class Route:
for segment, files in segment_files.items(): for segment, files in segment_files.items():
try: try:
log_path = next(path for path, filename in files if filename in LOG_FILENAMES) log_path = next(path for path, filename in files if filename in FileName.RLOG)
except StopIteration: except StopIteration:
log_path = None log_path = None
try: try:
qlog_path = next(path for path, filename in files if filename in QLOG_FILENAMES) qlog_path = next(path for path, filename in files if filename in FileName.QLOG)
except StopIteration: except StopIteration:
qlog_path = None qlog_path = None
try: try:
camera_path = next(path for path, filename in files if filename in CAMERA_FILENAMES) camera_path = next(path for path, filename in files if filename in FileName.FCAMERA)
except StopIteration: except StopIteration:
camera_path = None camera_path = None
try: try:
dcamera_path = next(path for path, filename in files if filename in DCAMERA_FILENAMES) dcamera_path = next(path for path, filename in files if filename in FileName.DCAMERA)
except StopIteration: except StopIteration:
dcamera_path = None dcamera_path = None
try: try:
ecamera_path = next(path for path, filename in files if filename in ECAMERA_FILENAMES) ecamera_path = next(path for path, filename in files if filename in FileName.ECAMERA)
except StopIteration: except StopIteration:
ecamera_path = None ecamera_path = None
try: try:
qcamera_path = next(path for path, filename in files if filename in QCAMERA_FILENAMES) qcamera_path = next(path for path, filename in files if filename in FileName.QCAMERA)
except StopIteration: except StopIteration:
qcamera_path = None qcamera_path = None

Loading…
Cancel
Save