From 39911a4fc3859ae528dfe541ae9d9119291ae0e2 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 24 Mar 2011 11:15:47 -0700 Subject: emerge: support [ y | n ] for --ask This allows --ask to be enabled via EMERGE_DEFAULT_OPTS, and then temporarily disabled via the command-line. This may be useful for programs that call emerge non-interactively, as in bug #360233. --- pym/_emerge/help.py | 4 +++- pym/_emerge/main.py | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'pym/_emerge') diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py index 020bc4206..a120f54d3 100644 --- a/pym/_emerge/help.py +++ b/pym/_emerge/help.py @@ -280,7 +280,9 @@ def help(myopts, havecolor=1): print(" With this option, output such as USE=\"dar -bar -foo\" will instead") print(" be displayed as USE=\"-bar dar -foo\"") print() - print(" "+green("--ask")+" ("+green("-a")+" short option)") + print(" " + green("--ask") + \ + " [ %s | %s ] (%s short option)" % \ + (turquoise("y"), turquoise("n"), green("-a"))) desc = "Before performing the action, display what will take place (server info for " + \ "--sync, --pretend output for merge, and so forth), then ask " + \ "whether to proceed with the action or abort. Using --ask is more " + \ diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index 1a63bc7db..d4b14fcc4 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -50,7 +50,7 @@ if sys.hexversion >= 0x3000000: long = int options=[ -"--ask", "--alphabetical", +"--alphabetical", "--ask-enter-invalid", "--buildpkgonly", "--changed-use", @@ -77,7 +77,6 @@ options=[ shortmapping={ "1":"--oneshot", -"a":"--ask", "B":"--buildpkgonly", "c":"--depclean", "C":"--unmerge", @@ -422,6 +421,7 @@ def insert_optional_args(args): new_args = [] default_arg_opts = { + '--ask' : y_or_n, '--autounmask' : y_or_n, '--buildpkg' : y_or_n, '--complete-graph' : y_or_n, @@ -456,6 +456,7 @@ def insert_optional_args(args): # Don't make things like "-kn" expand to "-k n" # since existence of -n makes it too ambiguous. short_arg_opts_n = { + 'a' : y_or_n, 'b' : y_or_n, 'g' : y_or_n, 'G' : y_or_n, @@ -560,6 +561,13 @@ def parse_opts(tmpcmdline, silent=False): true_y = ("True", "y") argument_options = { + "--ask": { + "shortopt" : "-a", + "help" : "prompt before performing any actions", + "type" : "choice", + "choices" : true_y_or_n + }, + "--autounmask": { "help" : "automatically unmask packages", "type" : "choice", @@ -807,6 +815,11 @@ def parse_opts(tmpcmdline, silent=False): myoptions, myargs = parser.parse_args(args=tmpcmdline) + if myoptions.ask in true_y: + myoptions.ask = True + else: + myoptions.ask = None + if myoptions.autounmask in true_y: myoptions.autounmask = True -- cgit v1.2.3-1-g7c22