~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: John Arbash Meinel
  • Date: 2010-02-17 17:11:16 UTC
  • mfrom: (4797.2.17 2.1)
  • mto: (4797.2.18 2.1)
  • mto: This revision was merged to the branch mainline in revision 5055.
  • Revision ID: john@arbash-meinel.com-20100217171116-h7t9223ystbnx5h8
merge bzr.2.1 in preparation for NEWS entry.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007, 2008 Canonical Ltd
 
1
# Copyright (C) 2007-2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
63
63
                 _request_factory=ResolveLaunchpadPathRequest,
64
64
                 _lp_login=None):
65
65
        """Resolve the base URL for this transport."""
 
66
        service = LaunchpadService.for_url(url)
66
67
        result = urlsplit(url)
67
 
        # Perform an XMLRPC request to resolve the path
68
 
        lp_instance = result[1]
69
 
        if lp_instance == '':
70
 
            lp_instance = None
71
 
        elif lp_instance not in LaunchpadService.LAUNCHPAD_INSTANCE:
72
 
            raise errors.InvalidURL(path=url)
73
68
        resolve = _request_factory(result[2].strip('/'))
74
 
        service = LaunchpadService(lp_instance=lp_instance)
75
69
        try:
76
70
            result = resolve.submit(service)
77
71
        except xmlrpclib.Fault, fault:
79
73
                path=url, extra=fault.faultString)
80
74
 
81
75
        if 'launchpad' in debug.debug_flags:
82
 
            trace.mutter("resolve_lp_path(%r) == %r", path, result)
 
76
            trace.mutter("resolve_lp_path(%r) == %r", url, result)
83
77
 
84
78
        if _lp_login is None:
85
79
            _lp_login = get_lp_login()