Skip to content

Commit da0ab2e

Browse files
authored
Merge pull request #2520 from cebtenzzre/fix-relative-to-error
fix relative_to on internal paths
2 parents 5a5372d + cde1f3b commit da0ab2e

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

appdaemon/exceptions.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,14 @@ def user_exception_block(logger: Logger, exception: Exception, app_dir: Path | N
105105
logger.error(f"{indent}{exc.__class__.__name__}: {exc}")
106106
if tb := traceback.extract_tb(exc.__traceback__):
107107
frame = tb[-1]
108-
file = Path(frame.filename).relative_to(app_dir.parent)
109-
logger.error(f"{indent} line {frame.lineno} in {file.name}")
110-
logger.error(f"{indent} {frame._line.rstrip()}")
111-
error_len = frame.end_colno - frame.colno
112-
logger.error(f"{indent} {' ' * (frame.colno - 1)}{'^' * error_len}")
108+
file_path = Path(frame.filename)
109+
# Only show file details if it's in the user's app directory
110+
if file_path.is_relative_to(app_dir.parent):
111+
file = file_path.relative_to(app_dir.parent)
112+
logger.error(f"{indent} line {frame.lineno} in {file.name}")
113+
logger.error(f"{indent} {frame._line.rstrip()}")
114+
error_len = frame.end_colno - frame.colno
115+
logger.error(f"{indent} {' ' * (frame.colno - 1)}{'^' * error_len}")
113116
case SyntaxError():
114117
logger.error(f"{indent}{exc.__class__.__name__}: {exc}")
115118
logger.error(f"{indent} {exc.text.rstrip()}")

0 commit comments

Comments
 (0)