Skip to content

Latest commit

 

History

History
38 lines (25 loc) · 807 Bytes

README.md

File metadata and controls

38 lines (25 loc) · 807 Bytes

decorate-all-methods

Decorator that applies a decorator to all methods of a class.

Installing

pip install decorate-all-methods

Example Usage

from decorate_all_methods import decorate_all_methods
from tenacity import retry, stop_after_attempt, wait_fixed


@decorate_all_methods(retry(stop=stop_after_attempt(3), wait=wait_fixed(1)), exclude=['__init__'])
class MyClass(object):

    def __init__(self, object):
        """Will not be retried."""
        pass

    def force_error(self):
        """Will be retried 3 times."""
        assert False

    def force_another_error(self):
        """Will also be retried 3 times."""
        assert False

Note: It is not necessary to exclude any methods.

Acknowledgments