ubuntutools/pullpkg: add --login parameter

Just in case we want to pull from a private ppa...

Signed-off-by: Dan Streetman <ddstreet@canonical.com>
This commit is contained in:
Dan Streetman 2020-06-15 17:02:28 -04:00
parent e13a4eb45e
commit 20036e6c36

View File

@ -38,7 +38,8 @@ from ubuntutools.archive import (UbuntuSourcePackage, DebianSourcePackage,
PersonalPackageArchiveSourcePackage) PersonalPackageArchiveSourcePackage)
from ubuntutools.config import UDTConfig from ubuntutools.config import UDTConfig
from ubuntutools.lp.lpapicache import (Distribution, Launchpad) from ubuntutools.lp.lpapicache import (Distribution, Launchpad)
from ubuntutools.lp.udtexceptions import (SeriesNotFoundException, from ubuntutools.lp.udtexceptions import (AlreadyLoggedInError,
SeriesNotFoundException,
PackageNotFoundException, PackageNotFoundException,
PocketDoesNotExistError, PocketDoesNotExistError,
InvalidDistroValueError) InvalidDistroValueError)
@ -130,6 +131,8 @@ class PullPkg(object):
# use add_help=False because we do parse_known_args() below, and if # use add_help=False because we do parse_known_args() below, and if
# that sees --help then it exits immediately # that sees --help then it exits immediately
parser = ArgumentParser(add_help=False) parser = ArgumentParser(add_help=False)
parser.add_argument('-L', '--login', action='store_true',
help="Login to Launchpad")
parser.add_argument('-v', '--verbose', action='count', default=0, parser.add_argument('-v', '--verbose', action='count', default=0,
help="Increase verbosity/debug") help="Increase verbosity/debug")
parser.add_argument('-d', '--download-only', action='store_true', parser.add_argument('-d', '--download-only', action='store_true',
@ -387,12 +390,18 @@ class PullPkg(object):
Logger.debug("pullpkg options: %s", options) Logger.debug("pullpkg options: %s", options)
# Login anonymously to LP
Launchpad.login_anonymously()
pull = options['pull'] pull = options['pull']
distro = options['distro'] distro = options['distro']
if options['login']:
Logger.debug("Logging in to Launchpad:")
try:
Launchpad.login()
except AlreadyLoggedInError:
Logger.error("Launchpad singleton has already performed a login, "
"and its design prevents another login")
Logger.warning("Continuing anyway, with existing Launchpad instance")
params = self._get_params(options) params = self._get_params(options)
package = params['package'] package = params['package']