Download lib/python3.9/site-packages/IPython/utils/decorators.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 2.68 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/IPython/utils/decorators.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/site-packages/IPython/utils/decorators.py
-
curl -L -o decorators.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/IPython/utils/decorators.py
2.68 kB
| # encoding: utf-8 | |
| """Decorators that don't go anywhere else. | |
| This module contains misc. decorators that don't really go with another module | |
| in :mod:`IPython.utils`. Before putting something here please see if it should | |
| go into another topical module in :mod:`IPython.utils`. | |
| """ | |
| #----------------------------------------------------------------------------- | |
| # Copyright (C) 2008-2011 The IPython Development Team | |
| # | |
| # Distributed under the terms of the BSD License. The full license is in | |
| # the file COPYING, distributed as part of this software. | |
| #----------------------------------------------------------------------------- | |
| #----------------------------------------------------------------------------- | |
| # Imports | |
| #----------------------------------------------------------------------------- | |
| from typing import Sequence | |
| from IPython.utils.docs import GENERATING_DOCUMENTATION | |
| #----------------------------------------------------------------------------- | |
| # Code | |
| #----------------------------------------------------------------------------- | |
| def flag_calls(func): | |
| """Wrap a function to detect and flag when it gets called. | |
| This is a decorator which takes a function and wraps it in a function with | |
| a 'called' attribute. wrapper.called is initialized to False. | |
| The wrapper.called attribute is set to False right before each call to the | |
| wrapped function, so if the call fails it remains False. After the call | |
| completes, wrapper.called is set to True and the output is returned. | |
| Testing for truth in wrapper.called allows you to determine if a call to | |
| func() was attempted and succeeded.""" | |
| # don't wrap twice | |
| if hasattr(func, 'called'): | |
| return func | |
| def wrapper(*args,**kw): | |
| wrapper.called = False | |
| out = func(*args,**kw) | |
| wrapper.called = True | |
| return out | |
| wrapper.called = False | |
| wrapper.__doc__ = func.__doc__ | |
| return wrapper | |
| def undoc(func): | |
| """Mark a function or class as undocumented. | |
| This is found by inspecting the AST, so for now it must be used directly | |
| as @undoc, not as e.g. @decorators.undoc | |
| """ | |
| return func | |
| def sphinx_options( | |
| show_inheritance: bool = True, | |
| show_inherited_members: bool = False, | |
| exclude_inherited_from: Sequence[str] = tuple(), | |
| ): | |
| """Set sphinx options""" | |
| def wrapper(func): | |
| if not GENERATING_DOCUMENTATION: | |
| return func | |
| func._sphinx_options = dict( | |
| show_inheritance=show_inheritance, | |
| show_inherited_members=show_inherited_members, | |
| exclude_inherited_from=exclude_inherited_from, | |
| ) | |
| return func | |
| return wrapper | |