diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-03-24 11:15:47 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-03-26 12:21:15 -0700 |
commit | f0262dfcc83da93c9f539a16a7e5a2ebca30ee28 (patch) | |
tree | 769ecfdc514cb0938f8c45671ad359e2be1cd7ce /pym | |
parent | fa3a5a04bc8eeb9e0eda44b21c7c8f3f49e00fa5 (diff) | |
download | portage-f0262dfcc83da93c9f539a16a7e5a2ebca30ee28.tar.gz portage-f0262dfcc83da93c9f539a16a7e5a2ebca30ee28.tar.bz2 portage-f0262dfcc83da93c9f539a16a7e5a2ebca30ee28.zip |
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.
Diffstat (limited to 'pym')
-rw-r--r-- | pym/_emerge/help.py | 4 | ||||
-rw-r--r-- | pym/_emerge/main.py | 17 |
2 files changed, 18 insertions, 3 deletions
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 368def9f9..cc46e6d9d 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 |