File tree Expand file tree Collapse file tree 2 files changed +13
-8
lines changed
tools/schemacode/src/bidsschematools Expand file tree Collapse file tree 2 files changed +13
-8
lines changed Original file line number Diff line number Diff line change 77from markdown_it import MarkdownIt
88from tabulate import tabulate
99
10- from ..utils import filter_warnings , in_context
10+ from ..utils import WarningsFilter , in_context
1111from .utils import propagate_fence_exception
1212
1313
14- @in_context (filter_warnings (["error" ]))
1514@propagate_fence_exception
15+ @in_context (WarningsFilter (["error" ]))
1616def fence (
1717 source : str ,
1818 language : str ,
Original file line number Diff line number Diff line change 66import os
77import sys
88import warnings
9- from contextlib import contextmanager
109from functools import wraps
1110
1211from . import data
@@ -179,14 +178,20 @@ def wrapper(*args, **kwargs):
179178 return decorator
180179
181180
182- @contextmanager
183- def filter_warnings (* filters ):
181+ class WarningsFilter :
184182 """Context manager to apply warning filters.
185183
186184 Arguments are lists of positional arguments to :func:`warnings.filterwarnings`.
187185 """
188186
189- with warnings .catch_warnings ():
190- for filt in filters :
187+ def __init__ (self , * filters ):
188+ self .filters = filters
189+
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 )
You can’t perform that action at this time.
0 commit comments