backportpackage: Improve upload question.

This commit is contained in:
Benjamin Drung 2010-12-18 19:22:07 +01:00
parent e69d243a59
commit d635434a5e
3 changed files with 14 additions and 13 deletions

View File

@ -29,6 +29,7 @@ import lsb_release
from ubuntutools.builder import getBuilder
from ubuntutools.logger import Logger
from ubuntutools.question import YesNoQuestion
def error(msg):
Logger.error(msg)
@ -198,16 +199,11 @@ def do_build(workdir, package, release, bp_version, builder, update):
workdir)
def do_upload(workdir, package, bp_version, upload):
prompt = 'Do you want to upload this to %s? [Y/n]' % upload
while True:
answer = raw_input(prompt).strip().lower()
if answer in ('', 'y', 'yes'):
break
elif answer in ('n', 'no'):
return
check_call(['dput', upload, '%s_%s_source.changes' % (package, bp_version)],
cwd=workdir)
answer = YesNoQuestion().ask('Do you want to upload %s %s to %s' % \
(package, bp_version, upload), "yes")
if answer == "yes":
changes_file = '%s_%s_source.changes' % (package, bp_version)
check_call(['dput', upload, changes_file], cwd=workdir)
def do_backport(workdir, package, dscfile, version, release, build, builder,

View File

@ -60,6 +60,11 @@ class Question(object):
return selected
class YesNoQuestion(Question):
def __init__(self):
Question.__init__(self, ["yes", "no"], False)
def input_number(question, min_number, max_number, default=None):
if default:
question += " [%i]? " % (default)

View File

@ -28,7 +28,7 @@ import launchpadlib.launchpad
import ubuntutools.update_maintainer
from ubuntutools.logger import Logger
from ubuntutools.question import Question, input_number
from ubuntutools.question import Question, YesNoQuestion, input_number
from ubuntutools.sponsor_patch.bugtask import BugTask
from ubuntutools.sponsor_patch.patch import Patch
@ -89,8 +89,8 @@ def strip_epoch(version):
return version_without_epoch
def ask_for_manual_fixing():
question = Question(["yes", "no"], False)
answer = question.ask("Do you want to resolve this issue manually", "yes")
answer = YesNoQuestion().ask("Do you want to resolve this issue manually",
"yes")
if answer == "no":
user_abort()