77from typing import List
88
99import cmd2
10- from cmd2 import with_argparser , with_category , AutoCompleter
10+ from cmd2 import with_argparser , with_category , argparse_completer
1111
1212
1313class TabCompleteExample (cmd2 .Cmd ):
@@ -91,7 +91,7 @@ def __init__(self):
9191 # - The help output for arguments with multiple flags or with append=True is more concise
9292 # - ACArgumentParser adds the ability to specify ranges of argument counts in 'nargs'
9393
94- suggest_parser = AutoCompleter .ACArgumentParser ()
94+ suggest_parser = argparse_completer .ACArgumentParser ()
9595
9696 suggest_parser .add_argument ('-t' , '--type' , choices = ['movie' , 'show' ], required = True )
9797 suggest_parser .add_argument ('-d' , '--duration' , nargs = (1 , 2 ), action = 'append' ,
@@ -113,7 +113,7 @@ def do_suggest(self, args) -> None:
113113
114114 def complete_suggest (self , text : str , line : str , begidx : int , endidx : int ) -> List [str ]:
115115 """ Adds tab completion to media"""
116- completer = AutoCompleter .AutoCompleter (TabCompleteExample .suggest_parser , 1 )
116+ completer = argparse_completer .AutoCompleter (TabCompleteExample .suggest_parser , 1 )
117117
118118 tokens , _ = self .tokens_for_completion (line , begidx , endidx )
119119 results = completer .complete_command (tokens , text , line , begidx , endidx )
@@ -125,7 +125,7 @@ def complete_suggest(self, text: str, line: str, begidx: int, endidx: int) -> Li
125125
126126 suggest_parser_hybrid = argparse .ArgumentParser ()
127127 # This registers the custom narg range handling
128- AutoCompleter .register_custom_actions (suggest_parser_hybrid )
128+ argparse_completer .register_custom_actions (suggest_parser_hybrid )
129129
130130 suggest_parser_hybrid .add_argument ('-t' , '--type' , choices = ['movie' , 'show' ], required = True )
131131 suggest_parser_hybrid .add_argument ('-d' , '--duration' , nargs = (1 , 2 ), action = 'append' ,
@@ -141,7 +141,7 @@ def do_hybrid_suggest(self, args):
141141
142142 def complete_hybrid_suggest (self , text , line , begidx , endidx ):
143143 """ Adds tab completion to media"""
144- completer = AutoCompleter .AutoCompleter (TabCompleteExample .suggest_parser_hybrid )
144+ completer = argparse_completer .AutoCompleter (TabCompleteExample .suggest_parser_hybrid )
145145
146146 tokens , _ = self .tokens_for_completion (line , begidx , endidx )
147147 results = completer .complete_command (tokens , text , line , begidx , endidx )
@@ -168,7 +168,7 @@ def do_orig_suggest(self, args) -> None:
168168
169169 def complete_orig_suggest (self , text , line , begidx , endidx ) -> List [str ]:
170170 """ Adds tab completion to media"""
171- completer = AutoCompleter .AutoCompleter (TabCompleteExample .suggest_parser_orig )
171+ completer = argparse_completer .AutoCompleter (TabCompleteExample .suggest_parser_orig )
172172
173173 tokens , _ = self .tokens_for_completion (line , begidx , endidx )
174174 results = completer .complete_command (tokens , text , line , begidx , endidx )
@@ -211,7 +211,7 @@ def _do_media_shows(self, args) -> None:
211211 print ()
212212
213213
214- media_parser = AutoCompleter .ACArgumentParser (prog = 'media' )
214+ media_parser = argparse_completer .ACArgumentParser (prog = 'media' )
215215
216216 media_types_subparsers = media_parser .add_subparsers (title = 'Media Types' , dest = 'type' )
217217
@@ -264,7 +264,7 @@ def complete_media(self, text, line, begidx, endidx):
264264 choices = {'actor' : self .query_actors , # function
265265 'director' : TabCompleteExample .static_list_directors # static list
266266 }
267- completer = AutoCompleter .AutoCompleter (TabCompleteExample .media_parser , arg_choices = choices )
267+ completer = argparse_completer .AutoCompleter (TabCompleteExample .media_parser , arg_choices = choices )
268268
269269 tokens , _ = self .tokens_for_completion (line , begidx , endidx )
270270 results = completer .complete_command (tokens , text , line , begidx , endidx )
@@ -293,11 +293,11 @@ def _query_movie_database(self):
293293 def _query_movie_user_library (self ):
294294 return TabCompleteExample .USER_MOVIE_LIBRARY
295295
296- def _filter_library (self , text , line , begidx , endidx , full , exclude = [] ):
296+ def _filter_library (self , text , line , begidx , endidx , full , exclude = () ):
297297 candidates = list (set (full ).difference (set (exclude )))
298298 return [entry for entry in candidates if entry .startswith (text )]
299299
300- library_parser = AutoCompleter .ACArgumentParser (prog = 'library' )
300+ library_parser = argparse_completer .ACArgumentParser (prog = 'library' )
301301
302302 library_subcommands = library_parser .add_subparsers (title = 'Media Types' , dest = 'type' )
303303
@@ -410,8 +410,8 @@ def complete_library(self, text, line, begidx, endidx):
410410 # under the type sub-parser group, there are 2 sub-parsers: 'movie', 'show'
411411 library_subcommand_groups = {'type' : library_type_params }
412412
413- completer = AutoCompleter .AutoCompleter (TabCompleteExample .library_parser ,
414- subcmd_args_lookup = library_subcommand_groups )
413+ completer = argparse_completer .AutoCompleter (TabCompleteExample .library_parser ,
414+ subcmd_args_lookup = library_subcommand_groups )
415415
416416 tokens , _ = self .tokens_for_completion (line , begidx , endidx )
417417 results = completer .complete_command (tokens , text , line , begidx , endidx )
0 commit comments