~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/plugins/launchpad/__init__.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-07-22 12:51:48 UTC
  • mfrom: (6024.3.12 2.5-verbosity-knob-812928)
  • Revision ID: pqm@pqm.ubuntu.com-20110722125148-wbtsysvbmhy5velq
(jameinel) Bug #812928,
 allow configuring how verbose the package freshness checks are. (John A
 Meinel)

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
 
41
41
# see http://wiki.bazaar.canonical.com/Specs/BranchRegistrationTool
42
42
 
43
 
import time
44
 
 
45
 
# Since we are a built-in plugin we share the bzrlib version
46
 
 
47
43
from bzrlib.lazy_import import lazy_import
48
44
lazy_import(globals(), """
49
45
from bzrlib import (
56
52
    branch as _mod_branch,
57
53
    bzrdir,
58
54
    lazy_regex,
 
55
    # Since we are a built-in plugin we share the bzrlib version
59
56
    version_info,
60
57
    )
61
58
from bzrlib.commands import (
502
499
    info = _get_package_branch_info(the_branch.base)
503
500
    if info is None:
504
501
        return
 
502
    c = the_branch.get_config()
 
503
    verbosity = c.get_user_option('launchpad.packaging_verbosity')
 
504
    if verbosity is not None:
 
505
        verbosity = verbosity.lower()
 
506
    if verbosity == 'off':
 
507
        trace.mutter('not checking %s because verbosity is turned off'
 
508
                     % (the_branch.base,))
 
509
        return
505
510
    archive, series, project = info
506
511
    from bzrlib.plugins.launchpad import lp_api_lite
507
 
    t = time.time()
508
512
    latest_pub = lp_api_lite.LatestPublication(archive, series, project)
509
 
    latest_ver = latest_pub.get_latest_version()
510
 
    t_latest_ver = time.time() - t
511
 
    trace.mutter('LatestPublication.get_latest_version took %.3fs'
512
 
                 % (t_latest_ver,))
513
 
    if latest_ver is None:
514
 
        trace.note('Could not find a published version for packaging branch:\n'
515
 
                   '  %s' % (the_branch.base,))
516
 
        return
517
 
    t = time.time()
518
 
    tags = the_branch.tags.get_tag_dict()
519
 
    t_tag_dict = time.time() - t
520
 
    trace.mutter('LatestPublication get_tag_dict took: %.3fs' % (t_tag_dict,))
521
 
    if latest_ver in tags:
522
 
        trace.note('Found most recent published version: %s'
523
 
                   ' in packaging branch:\n  %s'
524
 
                   % (latest_ver, the_branch.base))
525
 
    else:
526
 
        place = archive.title()
527
 
        if series is not None:
528
 
            place = '%s/%s' % (place, series.title())
529
 
        best_tag = lp_api_lite.get_most_recent_tag(tags, the_branch)
530
 
        if best_tag is None:
531
 
            best_message = ''
532
 
        else:
533
 
            best_message = '\nThe most recent tag found is %s' % (best_tag,)
534
 
        trace.warning(
535
 
            'Packaging branch is not up-to-date. The most recent published\n'
536
 
            'version in %s is %s, but it is not in the branch tags for:\n  %s%s'
537
 
            % (place, latest_ver, the_branch.base, best_message))
 
513
    lp_api_lite.report_freshness(the_branch, verbosity, latest_pub)
 
514
 
538
515
 
539
516
def _register_hooks():
540
517
    _mod_branch.Branch.hooks.install_named_hook('open',