summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Allouche <david@allouche.net>2018-01-10 23:18:35 +0100
committerDavid Allouche <david@allouche.net>2018-01-10 23:18:35 +0100
commit124fb117987a4361dd1536cbcf1ec2cd41b037d4 (patch)
treed0234453ec0a5b282434df74b3fe751cc721f0e2 /src
parent9e0b29c86d233fcc2f212bfb11bcac48d4891bbc (diff)
downloadpython-decorator-git-124fb117987a4361dd1536cbcf1ec2cd41b037d4.tar.gz
Enable pylint to support decorator.contextmanager
Using decorator.contextmanager trigger the pylint error E1129 (not-context-manager). Pylint has a configuration option for this: # List of decorators that produce context managers, such as # contextlib.contextmanager. Add to this list to register other decorators that # produce valid context managers. contextmanager-decorators=contextlib.contextmanager,decorator.contextmanager But the current implementation of decorator.contextmanager prevents this from working. Changing contextmanager to be a simple function fixes the issue.
Diffstat (limited to 'src')
-rw-r--r--src/decorator.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/decorator.py b/src/decorator.py
index 788f4bb..e213bc3 100644
--- a/src/decorator.py
+++ b/src/decorator.py
@@ -298,7 +298,12 @@ elif n_args == 4: # (self, gen, args, kwds) Python 3.5
return _GeneratorContextManager.__init__(self, g, a, k)
ContextManager.__init__ = __init__
-contextmanager = decorator(ContextManager)
+_contextmanager = decorator(ContextManager)
+
+
+def contextmanager(func):
+ # Enable Pylint config: contextmanager-decorators=decorator.contextmanager
+ return _contextmanager(func)
# ############################ dispatch_on ############################ #