localize some argcomplete-related functionality
This commit is contained in:
		
							parent
							
								
									8b1e53f6d3
								
							
						
					
					
						commit
						694c6fd0e7
					
				|  | @ -2,15 +2,7 @@ | |||
| 
 | ||||
| import py | ||||
| import sys, os | ||||
| from _pytest.core import PluginManager | ||||
| import pytest | ||||
| from _pytest._argcomplete import try_argcomplete, filescompleter | ||||
| 
 | ||||
| # enable after some grace period for plugin writers | ||||
| TYPE_WARN = False | ||||
| if TYPE_WARN: | ||||
|     import warnings | ||||
| 
 | ||||
| 
 | ||||
| def pytest_cmdline_parse(pluginmanager, args): | ||||
|     config = Config(pluginmanager) | ||||
|  | @ -82,6 +74,7 @@ class Parser: | |||
|         self._anonymous.addoption(*opts, **attrs) | ||||
| 
 | ||||
|     def parse(self, args): | ||||
|         from _pytest._argcomplete import try_argcomplete, filescompleter | ||||
|         self.optparser = optparser = MyOptionParser(self) | ||||
|         groups = self._groups + [self._anonymous] | ||||
|         for group in groups: | ||||
|  | @ -142,6 +135,8 @@ class Argument: | |||
|         'int': int, | ||||
|         'string': str, | ||||
|         } | ||||
|     # enable after some grace period for plugin writers | ||||
|     TYPE_WARN = False | ||||
| 
 | ||||
|     def __init__(self, *names, **attrs): | ||||
|         """store parms in private vars for use in add_argument""" | ||||
|  | @ -149,11 +144,11 @@ class Argument: | |||
|         self._short_opts = [] | ||||
|         self._long_opts = [] | ||||
|         self.dest = attrs.get('dest') | ||||
|         if TYPE_WARN: | ||||
|         if self.TYPE_WARN: | ||||
|             try: | ||||
|                 help = attrs['help'] | ||||
|                 if '%default' in help: | ||||
|                     warnings.warn( | ||||
|                     py.std.warnings.warn( | ||||
|                         'py.test now uses argparse. "%default" should be' | ||||
|                         ' changed to "%(default)s" ', | ||||
|                         FutureWarning, | ||||
|  | @ -168,8 +163,8 @@ class Argument: | |||
|             # this might raise a keyerror as well, don't want to catch that | ||||
|             if isinstance(typ, str): | ||||
|                 if typ == 'choice': | ||||
|                     if TYPE_WARN: | ||||
|                         warnings.warn( | ||||
|                     if self.TYPE_WARN: | ||||
|                         py.std.warnings.warn( | ||||
|                             'type argument to addoption() is a string %r.' | ||||
|                             ' For parsearg this is optional and when supplied ' | ||||
|                             ' should be a type.' | ||||
|  | @ -180,8 +175,8 @@ class Argument: | |||
|                     # the type of the first element | ||||
|                     attrs['type'] = type(attrs['choices'][0]) | ||||
|                 else: | ||||
|                     if TYPE_WARN: | ||||
|                         warnings.warn( | ||||
|                     if self.TYPE_WARN: | ||||
|                         py.std.warnings.warn( | ||||
|                             'type argument to addoption() is a string %r.' | ||||
|                             ' For parsearg this should be a type.' | ||||
|                             ' (options: %s)' % (typ, names), | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue