1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- .. _deprecations:
- Deprecation Helpers
- ===================
- FlaskBB publicly provides tools for handling deprecations and are open to use
- by plugins or other extensions to FlaskBB. For example if a plugin wants to
- deprecate a particular function it could do::
- from flaskbb.deprecation import FlaskBBDeprecation, deprecated
- class RemovedInPluginV2(FlaskBBDeprecation):
- version = (2, 0, 0)
- @deprecated(category=RemovedInPluginV2)
- def thing_removed_in_plugin_v2():
- ...
- When used in live code, a warning will be issue like::
- warning: RemovedInPluginV2: thing_removed_in_plugin_v2 and will be removed
- in version 2.0.0.
- Optionally, a message can be provided to give further information about the
- warning::
- @deprecated(message="Use plugin.frobinator instead.", category=RemovedInPluginV2)
- def thing_also_removed_in_plugin_v2():
- ...
- This will produce a warning like::
- warning: RemovedInPluginV2: thing_removed_in_plugin_v2 and will be removed
- in version 2.0.0. Use plugin.frobinator instead.
- If a decorated function has a docstring, the entire warning message will be
- appended to it for introspection and documentation purposes.
- Helpers
- ~~~~~~~
- .. module:: flaskbb.deprecation
- .. autoclass:: FlaskBBWarning
- .. autoclass:: FlaskBBDeprecation
- .. autoclass:: RemovedInFlaskBB3
- .. autofunction:: deprecated
|