Save the UDTConfig object and use it to find a default mirror.

This commit is contained in:
Evan Broder 2011-06-23 17:55:14 -07:00
parent e6e0b97226
commit c1eac4b0a9

View File

@ -142,7 +142,7 @@ def parse(args):
if not opts.upload and not opts.workdir: if not opts.upload and not opts.workdir:
parser.error('Please specify either a working dir or an upload target!') parser.error('Please specify either a working dir or an upload target!')
return opts, args return opts, args, config
def get_current_version(package, distribution, source_release): def get_current_version(package, distribution, source_release):
info = vendor_to_distroinfo(distribution) info = vendor_to_distroinfo(distribution)
@ -161,7 +161,7 @@ def get_current_version(package, distribution, source_release):
return latest_version return latest_version
def find_release_package(launchpad, mirror, workdir, package, version, def find_release_package(launchpad, mirror, workdir, package, version,
source_release): source_release, config):
srcpkg = None srcpkg = None
if source_release: if source_release:
@ -171,7 +171,9 @@ def find_release_package(launchpad, mirror, workdir, package, version,
error('Unknown release codename %s' % source_release) error('Unknown release codename %s' % source_release)
else: else:
distribution = system_distribution() distribution = system_distribution()
mirrors = (mirror,) if mirror else () mirrors = [mirror] if mirror else []
mirrors.append(config.get_value('%s_MIRROR' % distribution.upper()))
if not version: if not version:
version = get_current_version(package, distribution, source_release) version = get_current_version(package, distribution, source_release)
@ -195,7 +197,8 @@ def find_release_package(launchpad, mirror, workdir, package, version,
return srcpkg return srcpkg
def find_package(launchpad, mirror, workdir, package, version, source_release): def find_package(launchpad, mirror, workdir, package, version, source_release,
config):
"Returns the SourcePackage" "Returns the SourcePackage"
if package.endswith('.dsc'): if package.endswith('.dsc'):
return SourcePackage(version=version, dscfile=package, return SourcePackage(version=version, dscfile=package,
@ -207,7 +210,7 @@ def find_package(launchpad, mirror, workdir, package, version, source_release):
source_release = info().devel() source_release = info().devel()
srcpkg = find_release_package(launchpad, mirror, workdir, package, version, srcpkg = find_release_package(launchpad, mirror, workdir, package, version,
source_release) source_release, config)
if version and srcpkg.version != version: if version and srcpkg.version != version:
error('Requested backport of version %s but version of %s in %s is %s' error('Requested backport of version %s but version of %s in %s is %s'
% (version, package, source_release, srcpkg.version)) % (version, package, source_release, srcpkg.version))
@ -286,7 +289,7 @@ def do_backport(workdir, pkg, suffix, release, build, builder, update, upload,
def main(args): def main(args):
ubu_email() ubu_email()
opts, (package_or_dsc,) = parse(args[1:]) opts, (package_or_dsc,), config = parse(args[1:])
script_name = os.path.basename(sys.argv[0]) script_name = os.path.basename(sys.argv[0])
launchpad = Launchpad.login_anonymously(script_name, opts.lpinstance) launchpad = Launchpad.login_anonymously(script_name, opts.lpinstance)
@ -312,7 +315,8 @@ def main(args):
workdir, workdir,
package_or_dsc, package_or_dsc,
opts.version, opts.version,
opts.source_release) opts.source_release,
config)
pkg.pull() pkg.pull()
for release in opts.dest_releases: for release in opts.dest_releases: