diff options
Diffstat (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/show.py')
-rw-r--r-- | jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/show.py | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/show.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/show.py deleted file mode 100644 index e0d2bc7..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/show.py +++ /dev/null @@ -1,87 +0,0 @@ -import os - -from pip.basecommand import Command -from pip.log import logger -from pip._vendor import pkg_resources - - -class ShowCommand(Command): - """Show information about one or more installed packages.""" - name = 'show' - usage = """ - %prog [options] <package> ...""" - summary = 'Show information about installed packages.' - - def __init__(self, *args, **kw): - super(ShowCommand, self).__init__(*args, **kw) - self.cmd_opts.add_option( - '-f', '--files', - dest='files', - action='store_true', - default=False, - help='Show the full list of installed files for each package.') - - self.parser.insert_option_group(0, self.cmd_opts) - - def run(self, options, args): - if not args: - logger.warn('ERROR: Please provide a package name or names.') - return - query = args - - results = search_packages_info(query) - print_results(results, options.files) - - -def search_packages_info(query): - """ - Gather details from installed distributions. Print distribution name, - version, location, and installed files. Installed files requires a - pip generated 'installed-files.txt' in the distributions '.egg-info' - directory. - """ - installed = dict( - [(p.project_name.lower(), p) for p in pkg_resources.working_set]) - query_names = [name.lower() for name in query] - for dist in [installed[pkg] for pkg in query_names if pkg in installed]: - package = { - 'name': dist.project_name, - 'version': dist.version, - 'location': dist.location, - 'requires': [dep.project_name for dep in dist.requires()], - } - file_list = None - if isinstance(dist, pkg_resources.DistInfoDistribution): - # RECORDs should be part of .dist-info metadatas - if dist.has_metadata('RECORD'): - lines = dist.get_metadata_lines('RECORD') - paths = [l.split(',')[0] for l in lines] - paths = [os.path.join(dist.location, p) for p in paths] - file_list = [os.path.relpath(p, dist.egg_info) - for p in paths] - else: - # Otherwise use pip's log for .egg-info's - if dist.has_metadata('installed-files.txt'): - file_list = dist.get_metadata_lines('installed-files.txt') - # use and short-circuit to check for None - package['files'] = file_list and sorted(file_list) - yield package - - -def print_results(distributions, list_all_files): - """ - Print the informations from installed distributions found. - """ - for dist in distributions: - logger.notify("---") - logger.notify("Name: %s" % dist['name']) - logger.notify("Version: %s" % dist['version']) - logger.notify("Location: %s" % dist['location']) - logger.notify("Requires: %s" % ', '.join(dist['requires'])) - if list_all_files: - logger.notify("Files:") - if dist['files'] is not None: - for line in dist['files']: - logger.notify(" %s" % line.strip()) - else: - logger.notify("Cannot locate installed-files.txt") |