~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/symbol_versioning.py

Merge up bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
"""
22
22
 
23
23
__all__ = ['deprecated_function',
 
24
           'deprecated_in',
24
25
           'deprecated_list',
25
26
           'deprecated_method',
26
27
           'DEPRECATED_PARAMETER',
27
28
           'deprecated_passed',
28
 
           'warn', 'set_warning_method', 'zero_seven',
 
29
           'set_warning_method',
 
30
           'warn',
 
31
           'zero_seven',
29
32
           'zero_eight',
30
33
           'zero_nine',
31
34
           'zero_ten',
47
50
           'one_three',
48
51
           'one_four',
49
52
           'one_five',
 
53
           'one_six',
50
54
           ]
51
55
 
52
56
from warnings import warn
53
57
 
 
58
import bzrlib
 
59
 
54
60
 
55
61
DEPRECATED_PARAMETER = "A deprecated parameter marker."
56
62
zero_seven = "%s was deprecated in version 0.7."
75
81
one_three = "%s was deprecated in version 1.3."
76
82
one_four = "%s was deprecated in version 1.4."
77
83
one_five = "%s was deprecated in version 1.5."
 
84
one_six = "%s was deprecated in version 1.6."
 
85
 
 
86
 
 
87
def deprecated_in(version_tuple):
 
88
    """Generate a message that something was deprecated in a release.
 
89
 
 
90
    >>> deprecated_in((1, 4, 0))
 
91
    '%s was deprecated in version 1.4'
 
92
    """
 
93
    return ("%s was deprecated in version "
 
94
            + bzrlib._format_version_tuple(version_tuple))
 
95
 
78
96
 
79
97
def set_warning_method(method):
80
98
    """Set the warning method to be used by this module.
173
191
    # we cannot just forward to a new method name.I.e. in the following
174
192
    # examples we would want to have callers that pass any value to 'bad' be
175
193
    # given a warning - because we have applied:
176
 
    # @deprecated_parameter('bad', zero_seven)
 
194
    # @deprecated_parameter('bad', deprecated_in((1, 5, 0))
177
195
    #
178
196
    # def __init__(self, bad=None)
179
197
    # def __init__(self, bad, other)
241
259
        ):
242
260
        """Create a dict that warns when read or modified.
243
261
 
244
 
        :param deprecation_version: something like zero_nine
 
262
        :param deprecation_version: string for the warning format to raise,
 
263
            typically from deprecated_in()
245
264
        :param initial_value: The contents of the dict
246
265
        :param variable_name: This allows better warnings to be printed
247
266
        :param advice: String of advice on what callers should do instead 
266
285
                    initial_value, extra=None):
267
286
    """Create a list that warns when modified
268
287
 
269
 
    :param deprecation_version: something like zero_nine
 
288
    :param deprecation_version: string for the warning format to raise,
 
289
        typically from deprecated_in()
270
290
    :param initial_value: The contents of the list
271
291
    :param variable_name: This allows better warnings to be printed
272
292
    :param extra: Extra info to print when printing a warning