##// END OF EJS Templates
revlog: subclass the new `repository.iverifyproblem` Protocol class...
revlog: subclass the new `repository.iverifyproblem` Protocol class This is the same transformation as 3a90a6fd710d did for dirstate, but the CamelCase naming was already cleaned up here. We shouldn't have to explicitly subclass, but I'm doing so to test the interplay of regular attributes and the `attrs` class. Also, PyCharm has a nifty feature that puts a jump point in the gutter to navigate back and forth between the base class and subclasses (and override functions and base class functions) when there's an explicit subclassing. Additionally, PyCharm will immediately flag signature mismatches without a 40m pytype run.

File last commit:

r53327:31c49870 default
r53365:4ef6dbc2 default
Show More
filtertraceback.py
48 lines | 1.3 KiB | text/x-python | PythonLexer
#!/usr/bin/env python3
# Filters traceback lines from stdin.
import io
import sys
# Prevent \r from being inserted on Windows.
sys.stdout = io.TextIOWrapper(
sys.stdout.buffer,
sys.stdout.encoding,
sys.stdout.errors,
newline="\n",
line_buffering=sys.stdout.line_buffering,
)
state = 'none'
for line in sys.stdin:
if state == 'none':
if line.startswith('Traceback '):
state = 'tb'
elif state == 'tb':
if line.startswith(' File '):
state = 'file'
continue
elif not line.startswith(' '):
state = 'none'
elif not line.replace('^', '').replace('~', '').strip():
# PEP 657: Fine-grained error locations in tracebacks
# ~~~~~~^^^^^^^^^
continue
elif state == 'file':
# Ignore one line after " File ", but sometimes "File" lines are
# contiguous:
# File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
# File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
# File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
if not line.startswith(' File '):
state = 'tb'
continue
print(line, end='')