Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def debug(*args):
if _DEBUG:
if USING_PYTHON2:
# debug_stream has to be binary mode in Python 2.
# Attempting to write unicode directly uses the default ascii conversion.
# Convert any unicode to bytes, leaving non-string input alone.
args = [ensure_bytes(x) if isinstance(x, str) else x for x in args]
print(file=debug_stream, *args)
def get_parsed_args(self, comp_words):
""" gets the parsed args from a patched parser """
active_parsers = self._patch_argument_parser()
parsed_args = argparse.Namespace()
self.completing = True
if USING_PYTHON2:
# Python 2 argparse only properly works with byte strings.
comp_words = [ensure_bytes(word) for word in comp_words]
try:
active_parsers[0].parse_known_args(comp_words, namespace=parsed_args)
except BaseException: # pylint: disable=broad-except
pass
self.completing = False
return parsed_args
def get_parsed_args(self, comp_words):
""" gets the parsed args from a patched parser """
active_parsers = self._patch_argument_parser()
parsed_args = argparse.Namespace()
self.completing = True
if USING_PYTHON2:
# Python 2 argparse only properly works with byte strings.
comp_words = [ensure_bytes(word) for word in comp_words]
try:
active_parsers[0].parse_known_args(comp_words, namespace=parsed_args)
except BaseException:
pass
self.completing = False
return parsed_args
def get_parsed_args(self, comp_words):
""" gets the parsed args from a patched parser """
active_parsers = self._patch_argument_parser()
parsed_args = argparse.Namespace()
self.completing = True
if USING_PYTHON2:
# Python 2 argparse only properly works with byte strings.
comp_words = [ensure_bytes(word) for word in comp_words]
try:
stderr = sys.stderr
sys.stderr = os.open(os.devnull, "w")
active_parsers[0].parse_known_args(comp_words, namespace=parsed_args)
sys.stderr.close()
sys.stderr = stderr
except BaseException:
pass
self.completing = False
return parsed_args