deprecator
¶
Class for recording and reporting deprecations
|
Class to make decorator marking function or method as deprecated |
Error for expired deprecation |
Deprecator
¶
- class nibabel.deprecator.Deprecator(version_comparator: ~typing.Callable[[str], int], warn_class: type[Warning] = <class 'DeprecationWarning'>, error_class: type[Exception] = <class 'nibabel.deprecator.ExpiredDeprecationError'>)¶
Bases:
object
Class to make decorator marking function or method as deprecated
The decorated function / method will:
Raise the given warning_class warning when the function / method gets called, up to (and including) version until (if specified);
Raise the given error_class error when the function / method gets called, when the package version is greater than version until (if specified).
- Parameters:
- version_comparatorcallable
Callable accepting string as argument, and return 1 if string represents a higher version than encoded in the version_comparator, 0 if the version is equal, and -1 if the version is lower. For example, the version_comparator may compare the input version string to the current package version string.
- warn_classclass, optional
Class of warning to generate for deprecation.
- error_classclass, optional
Class of error to generate when version_comparator returns 1 for a given argument of
until
in the__call__
method (see below).
- __init__(version_comparator: ~typing.Callable[[str], int], warn_class: type[Warning] = <class 'DeprecationWarning'>, error_class: type[Exception] = <class 'nibabel.deprecator.ExpiredDeprecationError'>) None ¶
- is_bad_version(version_str: str) bool ¶
Return True if version_str is too high
Tests version_str with
self.version_comparator
- Parameters:
- version_strstr
String giving version to test
- Returns:
- is_badbool
True if version_str is for version below that expected by
self.version_comparator
, False otherwise.
ExpiredDeprecationError
¶
- class nibabel.deprecator.ExpiredDeprecationError¶
Bases:
RuntimeError
Error for expired deprecation
Error raised when a called function or method has passed out of its deprecation period.
- __init__(*args, **kwargs)¶