You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by al...@apache.org on 2017/04/27 18:25:27 UTC
[1/2] beam git commit: Add extra message to deprecated annotation
Repository: beam
Updated Branches:
refs/heads/master 730b14e11 -> 42e3a6f85
Add extra message to deprecated annotation
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/d9595d35
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/d9595d35
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/d9595d35
Branch: refs/heads/master
Commit: d9595d35176d2572423f6be069982b05eea204dd
Parents: 730b14e
Author: Maria Garcia Herrero <ma...@google.com>
Authored: Wed Apr 26 16:22:09 2017 -0700
Committer: Ahmet Altay <al...@google.com>
Committed: Thu Apr 27 11:25:14 2017 -0700
----------------------------------------------------------------------
sdks/python/apache_beam/utils/annotations.py | 13 ++++++---
.../apache_beam/utils/annotations_test.py | 29 ++++++++++++++++++++
2 files changed, 38 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/beam/blob/d9595d35/sdks/python/apache_beam/utils/annotations.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/utils/annotations.py b/sdks/python/apache_beam/utils/annotations.py
index 263eb94..92318b1 100644
--- a/sdks/python/apache_beam/utils/annotations.py
+++ b/sdks/python/apache_beam/utils/annotations.py
@@ -69,13 +69,14 @@ from functools import wraps
warnings.simplefilter("once")
-def annotate(label, since, current):
+def annotate(label, since, current, extra_message):
"""Decorates a function with a deprecated or experimental annotation.
Args:
label: the kind of annotation ('deprecated' or 'experimental').
since: the version that causes the annotation.
current: the suggested replacement function.
+ extra_message: an optional additional message.
Returns:
The decorator for the function.
@@ -90,7 +91,9 @@ def annotate(label, since, current):
message = '%s is %s' % (fnc.__name__, label)
if label == 'deprecated':
message += ' since %s' % since
- message += '. Use %s instead.'% current if current else '.'
+ message += '. Use %s instead.' % current if current else '.'
+ if extra_message:
+ message += '. ' + extra_message
warnings.warn(message, warning_type)
return fnc(*args, **kwargs)
return inner
@@ -100,5 +103,7 @@ def annotate(label, since, current):
# Use partial application to customize each annotation.
# 'current' will be optional in both deprecated and experimental
# while 'since' will be mandatory for deprecated.
-deprecated = partial(annotate, label='deprecated', current=None)
-experimental = partial(annotate, label='experimental', current=None, since=None)
+deprecated = partial(annotate, label='deprecated',
+ current=None, extra_message=None)
+experimental = partial(annotate, label='experimental',
+ current=None, since=None, extra_message=None)
http://git-wip-us.apache.org/repos/asf/beam/blob/d9595d35/sdks/python/apache_beam/utils/annotations_test.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/utils/annotations_test.py b/sdks/python/apache_beam/utils/annotations_test.py
index 64a24ee..32af8a9 100644
--- a/sdks/python/apache_beam/utils/annotations_test.py
+++ b/sdks/python/apache_beam/utils/annotations_test.py
@@ -24,6 +24,21 @@ from apache_beam.utils.annotations import experimental
class AnnotationTests(unittest.TestCase):
# Note: use different names for each of the the functions decorated
# so that a warning is produced for each of them.
+ def test_deprecated_with_since_current_message(self):
+ with warnings.catch_warnings(record=True) as w:
+ @deprecated(since='v.1', current='multiply', extra_message='Do this')
+ def fnc_test_deprecated_with_since_current_message():
+ return 'lol'
+ fnc_test_deprecated_with_since_current_message()
+ self.check_annotation(
+ warning=w, warning_size=1,
+ warning_type=DeprecationWarning,
+ fnc_name='fnc_test_deprecated_with_since_current_message',
+ annotation_type='deprecated',
+ label_check_list=[('since', True),
+ ('instead', True),
+ ('Do this', True)])
+
def test_deprecated_with_since_current(self):
with warnings.catch_warnings(record=True) as w:
@deprecated(since='v.1', current='multiply')
@@ -60,6 +75,20 @@ class AnnotationTests(unittest.TestCase):
fnc_test_deprecated_without_since_should_fail()
assert not w
+ def test_experimental_with_current_message(self):
+ with warnings.catch_warnings(record=True) as w:
+ @experimental(current='multiply', extra_message='Do this')
+ def fnc_test_experimental_with_current_message():
+ return 'lol'
+ fnc_test_experimental_with_current_message()
+ self.check_annotation(
+ warning=w, warning_size=1,
+ warning_type=FutureWarning,
+ fnc_name='fnc_test_experimental_with_current_message',
+ annotation_type='experimental',
+ label_check_list=[('instead', True),
+ ('Do this', True)])
+
def test_experimental_with_current(self):
with warnings.catch_warnings(record=True) as w:
@experimental(current='multiply')
[2/2] beam git commit: This closes #2719
Posted by al...@apache.org.
This closes #2719
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/42e3a6f8
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/42e3a6f8
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/42e3a6f8
Branch: refs/heads/master
Commit: 42e3a6f8588046f257e5c780dec12d16d0314a66
Parents: 730b14e d9595d3
Author: Ahmet Altay <al...@google.com>
Authored: Thu Apr 27 11:25:18 2017 -0700
Committer: Ahmet Altay <al...@google.com>
Committed: Thu Apr 27 11:25:18 2017 -0700
----------------------------------------------------------------------
sdks/python/apache_beam/utils/annotations.py | 13 ++++++---
.../apache_beam/utils/annotations_test.py | 29 ++++++++++++++++++++
2 files changed, 38 insertions(+), 4 deletions(-)
----------------------------------------------------------------------