From 6e40240c013f822c1916b7648f8fcfbda05337d5 Mon Sep 17 00:00:00 2001 From: Derek Bekoe Date: Thu, 19 Jan 2017 11:32:07 -0800 Subject: [PATCH] Fix argcomplete 'default_completer' error. (#1793) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Prev. argcomplete.autocomplete() could not take a default_completer. Now, it does so we can’t subclass CompletionFinder anymore. - Require argcomplete 1.8.0 now as the change isn’t backwards compatible. --- requirements.txt | 2 +- src/azure-cli-core/azure/cli/core/parser.py | 12 +++--------- src/azure-cli-core/setup.py | 2 +- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/requirements.txt b/requirements.txt index 61cba4bc9c3..e8b5bf028fc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ adal==0.4.3 applicationinsights==0.10.0 -argcomplete==1.3.0 +argcomplete==1.8.0 colorama==0.3.7 jmespath mock==1.3.0 diff --git a/src/azure-cli-core/azure/cli/core/parser.py b/src/azure-cli-core/azure/cli/core/parser.py index c8418d93b8e..d2acf8625f9 100644 --- a/src/azure-cli-core/azure/cli/core/parser.py +++ b/src/azure-cli-core/azure/cli/core/parser.py @@ -30,16 +30,10 @@ def __call__(self, prefix, **kwargs): argcomplete.completers.ChoicesCompleter = CaseInsensitiveChoicesCompleter -class EmptyDefaultCompletionFinder(argcomplete.CompletionFinder): - - def __init__(self, *args, **kwargs): - super(EmptyDefaultCompletionFinder, self).__init__(*args, default_completer=lambda _: (), - **kwargs) - - def enable_autocomplete(parser): - argcomplete.autocomplete = EmptyDefaultCompletionFinder() - argcomplete.autocomplete(parser, validator=lambda c, p: c.lower().startswith(p.lower())) + argcomplete.autocomplete = argcomplete.CompletionFinder() + argcomplete.autocomplete(parser, validator=lambda c, p: c.lower().startswith(p.lower()), + default_completer=lambda _: ()) class AzCliCommandParser(argparse.ArgumentParser): diff --git a/src/azure-cli-core/setup.py b/src/azure-cli-core/setup.py index 8d7b1cd71a0..7af23a939d7 100644 --- a/src/azure-cli-core/setup.py +++ b/src/azure-cli-core/setup.py @@ -46,7 +46,7 @@ DEPENDENCIES = [ 'adal>=0.4.3', 'applicationinsights', - 'argcomplete>=1.3.0', + 'argcomplete>=1.8.0', 'azure-cli-nspkg', 'azure-mgmt-trafficmanager==0.30.0rc6', 'azure-mgmt-dns==0.30.0rc6',