logreader: skip internal source if not available (#31400)

* logreader: skip internal source if not available

* raise exception

* but only when appropriate
old-commit-hash: 667693b8c2
chrysler-long2
Greg Hogan 1 year ago committed by GitHub
parent 1210e93378
commit 1384c10fb0
  1. 12
      tools/lib/filereader.py
  2. 5
      tools/lib/logreader.py

@ -1,9 +1,21 @@
import os
import socket
from urllib.parse import urlparse
from openpilot.tools.lib.url_file import URLFile
DATA_ENDPOINT = os.getenv("DATA_ENDPOINT", "http://data-raw.comma.internal/")
def internal_source_available():
try:
hostname = urlparse(DATA_ENDPOINT).hostname
if hostname:
socket.gethostbyname(hostname)
return True
except socket.gaierror:
pass
return False
def resolve_name(fn):
if fn.startswith("cd:/"):
return fn.replace("cd:/", DATA_ENDPOINT)

@ -20,7 +20,7 @@ from cereal import log as capnp_log
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.openpilotci import get_url
from openpilot.tools.lib.filereader import FileReader, file_exists
from openpilot.tools.lib.filereader import FileReader, file_exists, internal_source_available
from openpilot.tools.lib.helpers import RE
from openpilot.tools.lib.route import Route, SegmentRange
@ -143,6 +143,9 @@ def comma_api_source(sr: SegmentRange, mode: ReadMode):
return apply_strategy(mode, rlog_paths, qlog_paths, valid_file=valid_file)
def internal_source(sr: SegmentRange, mode: ReadMode):
if not internal_source_available():
raise Exception("Internal source not available")
segs = parse_slice(sr)
def get_internal_url(sr: SegmentRange, seg, file):

Loading…
Cancel
Save