Skip to content

Commit 3e69085

Browse files
committed
Merge remote-tracking branch 'upstream/maint/1.10.1'
2 parents 7c06228 + 6bea989 commit 3e69085

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

tools/schemacode/src/bidsschematools/render/tsv.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
from markdown_it import MarkdownIt
88
from tabulate import tabulate
99

10-
from ..utils import filter_warnings, in_context
10+
from ..utils import WarningsFilter, in_context
1111
from .utils import propagate_fence_exception
1212

1313

14-
@in_context(filter_warnings(["error"]))
1514
@propagate_fence_exception
15+
@in_context(WarningsFilter(["error"]))
1616
def fence(
1717
source: str,
1818
language: str,

tools/schemacode/src/bidsschematools/utils.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -179,14 +179,19 @@ def wrapper(*args, **kwargs):
179179
return decorator
180180

181181

182-
@contextmanager
183-
def filter_warnings(*filters):
182+
class WarningsFilter:
184183
"""Context manager to apply warning filters.
185184
186185
Arguments are lists of positional arguments to :func:`warnings.filterwarnings`.
187186
"""
187+
def __init__(self, *filters):
188+
self.filters = filters
188189

189-
with warnings.catch_warnings():
190-
for filt in filters:
190+
def __enter__(self):
191+
self.catcher = warnings.catch_warnings()
192+
self.catcher.__enter__()
193+
for filt in self.filters:
191194
warnings.filterwarnings(*filt)
192-
yield
195+
196+
def __exit__(self, exc_type, exc_value, traceback):
197+
self.catcher.__exit__(exc_type, exc_value, traceback)

0 commit comments

Comments
 (0)