Skip to content

Commit

Permalink
Type annotations for completion and debug in commands
Browse files Browse the repository at this point in the history
  • Loading branch information
deveshks committed Apr 14, 2020
1 parent e40d267 commit ae8391b
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 8 deletions.
Empty file.
13 changes: 10 additions & 3 deletions src/pip/_internal/commands/completion.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
# The following comment should be removed at some point in the future.
# mypy: disallow-untyped-defs=False

from __future__ import absolute_import

import sys
import textwrap

from pip._internal.cli.base_command import Command
from pip._internal.cli.status_codes import ERROR, SUCCESS
from pip._internal.utils.misc import get_prog
from pip._internal.utils.typing import MYPY_CHECK_RUNNING

if MYPY_CHECK_RUNNING:
from typing import Any, List
from optparse import Values

BASE_COMPLETION = """
# pip {shell} completion start{script}# pip {shell} completion end
Expand Down Expand Up @@ -54,6 +57,7 @@ class CompletionCommand(Command):
ignore_require_venv = True

def __init__(self, *args, **kw):
# type: (*Any, **Any) -> None
super(CompletionCommand, self).__init__(*args, **kw)

cmd_opts = self.cmd_opts
Expand All @@ -80,6 +84,7 @@ def __init__(self, *args, **kw):
self.parser.insert_option_group(0, cmd_opts)

def run(self, options, args):
# type: (Values, List[Any]) -> int
"""Prints the completion code of the given shell"""
shells = COMPLETION_SCRIPTS.keys()
shell_options = ['--' + shell for shell in sorted(shells)]
Expand All @@ -89,7 +94,9 @@ def run(self, options, args):
prog=get_prog())
)
print(BASE_COMPLETION.format(script=script, shell=options.shell))
return SUCCESS
else:
sys.stderr.write(
'ERROR: You must pass {}\n' .format(' or '.join(shell_options))
)
return ERROR
7 changes: 2 additions & 5 deletions src/pip/_internal/commands/debug.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# The following comment should be removed at some point in the future.
# mypy: disallow-untyped-defs=False

from __future__ import absolute_import

import locale
Expand Down Expand Up @@ -67,7 +64,6 @@ def create_vendor_txt_map():

def get_module_from_module_name(module_name):
# type: (str) -> ModuleType

# Module name can be uppercase in vendor.txt for some reason...
module_name = module_name.lower()
# PATCH: setuptools is actually only pkg_resources.
Expand All @@ -85,7 +81,6 @@ def get_module_from_module_name(module_name):

def get_vendor_version_from_module(module_name):
# type: (str) -> str

module = get_module_from_module_name(module_name)
version = getattr(module, '__version__', None)

Expand Down Expand Up @@ -169,6 +164,7 @@ def show_tags(options):


def ca_bundle_info(config):
# type: (Dict[str, str]) -> str
levels = set()
for key, value in config.items():
levels.add(key.split('.')[0])
Expand Down Expand Up @@ -197,6 +193,7 @@ class DebugCommand(Command):
ignore_require_venv = True

def __init__(self, *args, **kw):
# type: (*Any, **Any) -> None
super(DebugCommand, self).__init__(*args, **kw)

cmd_opts = self.cmd_opts
Expand Down

0 comments on commit ae8391b

Please sign in to comment.