From d635434a5e4c3b5997b4ea0785a007e8a97270fa Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Sat, 18 Dec 2010 19:22:07 +0100 Subject: [PATCH] backportpackage: Improve upload question. --- backportpackage | 16 ++++++---------- ubuntutools/question.py | 5 +++++ ubuntutools/sponsor_patch/main.py | 6 +++--- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/backportpackage b/backportpackage index 2a78051..dd31dc1 100755 --- a/backportpackage +++ b/backportpackage @@ -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, diff --git a/ubuntutools/question.py b/ubuntutools/question.py index 7149048..4c6cc34 100644 --- a/ubuntutools/question.py +++ b/ubuntutools/question.py @@ -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) diff --git a/ubuntutools/sponsor_patch/main.py b/ubuntutools/sponsor_patch/main.py index 8e90c5a..c3334b2 100644 --- a/ubuntutools/sponsor_patch/main.py +++ b/ubuntutools/sponsor_patch/main.py @@ -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()