~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/symbol_versioning.py

  • Committer: John Arbash Meinel
  • Date: 2009-02-23 15:29:35 UTC
  • mfrom: (3943.7.7 bzr.code_style_cleanup)
  • mto: This revision was merged to the branch mainline in revision 4033.
  • Revision ID: john@arbash-meinel.com-20090223152935-oel9m92mwcc6nb4h
Merge the removal of all trailing whitespace, and resolve conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
135
135
 
136
136
    def function_decorator(callable):
137
137
        """This is the function python calls to perform the decoration."""
138
 
        
 
138
 
139
139
        def decorated_function(*args, **kwargs):
140
140
            """This is the decorated function."""
141
141
            from bzrlib import trace
152
152
def deprecated_method(deprecation_version):
153
153
    """Decorate a method so that use of it will trigger a warning.
154
154
 
155
 
    To deprecate a static or class method, use 
 
155
    To deprecate a static or class method, use
156
156
 
157
157
        @staticmethod
158
158
        @deprecated_function
159
159
        def ...
160
 
    
 
160
 
161
161
    To deprecate an entire class, decorate __init__.
162
162
    """
163
163
 
164
164
    def method_decorator(callable):
165
165
        """This is the function python calls to perform the decoration."""
166
 
        
 
166
 
167
167
        def decorated_method(self, *args, **kwargs):
168
168
            """This is the decorated method."""
169
169
            from bzrlib import trace
187
187
 
188
188
def deprecated_passed(parameter_value):
189
189
    """Return True if parameter_value was used."""
190
 
    # FIXME: it might be nice to have a parameter deprecation decorator. 
 
190
    # FIXME: it might be nice to have a parameter deprecation decorator.
191
191
    # it would need to handle positional and *args and **kwargs parameters,
192
192
    # which means some mechanism to describe how the parameter was being
193
193
    # passed before deprecation, and some way to deprecate parameters that
213
213
    if len(docstring_lines) == 0:
214
214
        decorated_callable.__doc__ = deprecation_version % ("This " + label)
215
215
    elif len(docstring_lines) == 1:
216
 
        decorated_callable.__doc__ = (callable.__doc__ 
 
216
        decorated_callable.__doc__ = (callable.__doc__
217
217
                                    + "\n"
218
218
                                    + "\n"
219
219
                                    + deprecation_version % ("This " + label)
267
267
            typically from deprecated_in()
268
268
        :param initial_value: The contents of the dict
269
269
        :param variable_name: This allows better warnings to be printed
270
 
        :param advice: String of advice on what callers should do instead 
 
270
        :param advice: String of advice on what callers should do instead
271
271
            of using this variable.
272
272
        """
273
273
        self._deprecation_version = deprecation_version
309
309
        def _warn_deprecated(self, func, *args, **kwargs):
310
310
            warn(msg, DeprecationWarning, stacklevel=3)
311
311
            return func(self, *args, **kwargs)
312
 
            
 
312
 
313
313
        def append(self, obj):
314
314
            """appending to %s is deprecated""" % (variable_name,)
315
315
            return self._warn_deprecated(list.append, obj)
339
339
 
340
340
def _check_for_filter(error_only):
341
341
    """Check if there is already a filter for deprecation warnings.
342
 
    
 
342
 
343
343
    :param error_only: Only match an 'error' filter
344
344
    :return: True if a filter is found, False otherwise
345
345
    """