~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/symbol_versioning.py

  • Committer: John Arbash Meinel
  • Date: 2008-05-28 23:20:33 UTC
  • mto: This revision was merged to the branch mainline in revision 3458.
  • Revision ID: john@arbash-meinel.com-20080528232033-cx3l3yg845udklps
Bring back always in the form of 'override'.
Change the functions so that they are compatible with the released
definition, and just allow callers to supply override=False
if they want the new behavior.

Show diffs side-by-side

added added

removed removed

Lines of Context:
348
348
    return False
349
349
 
350
350
 
351
 
def suppress_deprecation_warnings():
 
351
def suppress_deprecation_warnings(override=True):
352
352
    """Call this function to suppress all deprecation warnings.
353
353
 
354
354
    When this is a final release version, we don't want to annoy users with
355
355
    lots of deprecation warnings. We only want the deprecation warnings when
356
356
    running a dev or release candidate.
 
357
 
 
358
    :param override: If True, always set the ignore, if False, only set the
 
359
        ignore if there isn't already a filter.
357
360
    """
358
361
    import warnings
359
 
    if _check_for_filter(False):
 
362
    if not override and _check_for_filter(error_only=False):
360
363
        # If there is already a filter effecting suppress_deprecation_warnings,
361
364
        # then skip it.
362
365
        return
363
366
    warnings.filterwarnings('ignore', category=DeprecationWarning)
364
367
 
365
368
 
366
 
def activate_deprecation_warnings():
 
369
def activate_deprecation_warnings(override=True):
367
370
    """Call this function to activate deprecation warnings.
368
371
 
369
372
    When running in a 'final' release we suppress deprecation warnings.
373
376
    Note: warnings that have already been issued under 'ignore' will not be
374
377
    reported after this point. The 'warnings' module has already marked them as
375
378
    handled, so they don't get issued again.
 
379
 
 
380
    :param override: If False, only add a filter if there isn't an error filter
 
381
        already. (This slightly differs from suppress_deprecation_warnings, in
 
382
        because it always overrides everything but -Werror).
376
383
    """
377
384
    import warnings
378
 
    if _check_for_filter(True):
 
385
    if not override and _check_for_filter(error_only=True):
379
386
        # DeprecationWarnings are already turned into errors, don't downgrade
380
387
        # them to 'default'.
381
388
        return