mirror of
https://github.com/davegallant/decorate-all-methods.git
synced 2025-08-05 09:23:40 +00:00
first commit
This commit is contained in:
46
README.md
Normal file
46
README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# decorate-all-methods
|
||||
|
||||
Decorator that applies a decorator to all methods of a class.
|
||||
|
||||
## Installing
|
||||
|
||||
```bash
|
||||
pip install decorate-all-methods
|
||||
```
|
||||
|
||||
## Example Usage
|
||||
|
||||
```python
|
||||
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._
|
||||
|
||||
## Versioning
|
||||
|
||||
We use [SemVer](http://semver.org/) for versioning.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the Apache License, Version 2.0.
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
* https://stackoverflow.com/a/6307868/1191286
|
Reference in New Issue
Block a user