Add separate argument buckets so any subparser can search.
This commit is contained in:
		
							parent
							
								
									3738a60195
								
							
						
					
					
						commit
						3e33285cff
					
				
					 1 changed files with 24 additions and 1 deletions
				
			
		|  | @ -66,6 +66,19 @@ def main(argv): | ||||||
|     parser = argparse.ArgumentParser(description=__doc__) |     parser = argparse.ArgumentParser(description=__doc__) | ||||||
|     subparsers = parser.add_subparsers() |     subparsers = parser.add_subparsers() | ||||||
| 
 | 
 | ||||||
|  |     primary_args = [] | ||||||
|  |     photo_search_args = [] | ||||||
|  |     album_search_args = [] | ||||||
|  |     mode = primary_args | ||||||
|  |     for arg in argv: | ||||||
|  |         if arg in {'--search', '--photo_search', '--photo-search'}: | ||||||
|  |             mode = photo_search_args | ||||||
|  |             continue | ||||||
|  |         if arg in {'--album_search', '--album-search'}: | ||||||
|  |             mode = album_search_args | ||||||
|  |             continue | ||||||
|  |         mode.append(arg) | ||||||
|  | 
 | ||||||
|     p_search = subparsers.add_parser('search') |     p_search = subparsers.add_parser('search') | ||||||
|     p_search.add_argument('--area', dest='area', default=None) |     p_search.add_argument('--area', dest='area', default=None) | ||||||
|     p_search.add_argument('--width', dest='width', default=None) |     p_search.add_argument('--width', dest='width', default=None) | ||||||
|  | @ -92,7 +105,17 @@ def main(argv): | ||||||
|     # p_search.add_argument('--yield_albums', '--yield-albums', dest='yield_albums', default=None) |     # p_search.add_argument('--yield_albums', '--yield-albums', dest='yield_albums', default=None) | ||||||
|     p_search.set_defaults(func=search_argparse) |     p_search.set_defaults(func=search_argparse) | ||||||
| 
 | 
 | ||||||
|     args = parser.parse_args(argv) |     args = parser.parse_args(primary_args) | ||||||
|  |     if photo_search_args: | ||||||
|  |         args.photo_search_args = p_search.parse_args(photo_search_args) | ||||||
|  |     else: | ||||||
|  |         args.photo_search_args = None | ||||||
|  | 
 | ||||||
|  |     if album_search_args: | ||||||
|  |         args.album_search_args = p_search.parse_args(album_search_args) | ||||||
|  |     else: | ||||||
|  |         args.album_search_args = None | ||||||
|  | 
 | ||||||
|     return args.func(args) |     return args.func(args) | ||||||
| 
 | 
 | ||||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue