def format_for_columns(pkgs, options): """ Convert the package data into something usable by output_package_listing_columns. """ running_outdated = options.outdated # Adjust the header for the `pip list --outdated` case. if running_outdated: header = ["Package", "Version", "Latest", "Type"] else: header = ["Package", "Version"] data = [] if options.verbose >= 1 or any(dist_is_editable(x) for x in pkgs): header.append("Location") if options.verbose >= 1: header.append("Installer") for proj in pkgs: # if we're working on the 'outdated' list, separate out the # latest_version and type row = [proj.project_name, proj.version] if running_outdated: row.append(proj.latest_version) row.append(proj.latest_filetype) if options.verbose >= 1 or dist_is_editable(proj): row.append(proj.location) if options.verbose >= 1: row.append(get_installer(proj)) data.append(row) return data, header
def format_for_json(packages, options): # type: (List[Distribution], Values) -> str data = [] for dist in packages: info = { 'name': dist.project_name, 'version': str(dist.version), } if options.verbose >= 1: info['location'] = dist.location info['installer'] = get_installer(dist) if options.outdated: info['latest_version'] = str(dist.latest_version) info['latest_filetype'] = dist.latest_filetype data.append(info) return json.dumps(data)
def was_installed_by_pip(pkg): # type: (str) -> bool """Checks whether pkg was installed by pip This is used not to display the upgrade message when pip is in fact installed by system package manager, such as dnf on Fedora. """ dist = get_distribution(pkg) if not dist: return False return "pip" == get_installer(dist)
def was_installed_by_pip(pkg): # type: (str) -> bool """Checks whether pkg was installed by pip This is used not to display the upgrade message when pip is in fact installed by system package manager, such as dnf on Fedora. """ try: dist = pkg_resources.get_distribution(pkg) return "pip" == get_installer(dist) except pkg_resources.DistributionNotFound: return False
def format_for_json(packages, options): data = [] for dist in packages: info = {"name": dist.project_name, "version": six.text_type(dist.version)} if options.verbose >= 1: info["location"] = dist.location info["installer"] = get_installer(dist) if options.outdated: info["latest_version"] = six.text_type(dist.latest_version) info["latest_filetype"] = dist.latest_filetype data.append(info) return json.dumps(data)
def output_legacy(self, dist, options): if options.verbose >= 1: return "%s (%s, %s, %s)" % ( dist.project_name, dist.version, dist.location, get_installer(dist), ) elif dist_is_editable(dist): return "%s (%s, %s)" % (dist.project_name, dist.version, dist.location) else: return "%s (%s)" % (dist.project_name, dist.version)
def format_for_columns(pkgs, options): """ Convert the package data into something usable by output_package_listing_columns. """ running_outdated = options.outdated running_columnsx = True if options.list_format == 'columnsx' else False # Adjust the header for the `pip list --outdated` case. running_showlatest = False header = ["Package", "Version"] if running_outdated: header.append("Latest") header.append("Type") running_showlatest = True data = [] if options.verbose >= 1 or any(dist_is_editable(x) for x in pkgs): header.append("Location") if options.verbose >= 1 or running_columnsx: header.append("Installer") dct = rdCndGetNames() if running_columnsx else {} nLngDct = len(dct) if (nLngDct > 1): # dct may be empty on Python without Anaconda header.append("Owner") for proj in pkgs: # if we're working on the 'outdated' list, separate out the # latest_version and type row = [proj.project_name, proj.version] if running_outdated: row.append(proj.latest_version) row.append(proj.latest_filetype) if options.verbose >= 1 or dist_is_editable(proj): row.append(proj.location) if options.verbose >= 1 or running_columnsx: row.append(get_installer(proj)) if (nLngDct > 1): if rdCndIsNameIn(dct, proj.project_name): row.append("Anaconda") else: row.append("ThePip") data.append(row) return data, header
def format_for_json(packages, options): data = [] for dist in packages: info = { 'name': dist.project_name, 'version': six.text_type(dist.version), } if options.verbose >= 1: info['location'] = dist.location info['installer'] = get_installer(dist) if options.outdated: info['latest_version'] = six.text_type(dist.latest_version) info['latest_filetype'] = dist.latest_filetype data.append(info) return DealJson.dumps(data)
def format_for_json(packages, options): data = [] for dist in packages: info = { 'name': dist.project_name, 'version': six.text_type(dist.version), } if options.verbose >= 1: info['location'] = dist.location info['installer'] = get_installer(dist) if options.outdated: info['latest_version'] = six.text_type(dist.latest_version) info['latest_filetype'] = dist.latest_filetype data.append(info) return json.dumps(data)
def output_legacy(self, dist, options): if options.verbose >= 1: return '%s (%s, %s, %s)' % ( dist.project_name, dist.version, dist.location, get_installer(dist), ) elif dist_is_editable(dist): return '%s (%s, %s)' % ( dist.project_name, dist.version, dist.location, ) else: return '%s (%s)' % (dist.project_name, dist.version)
def installer(self) -> str: return get_installer(self._dist)
def installer(self): # type: () -> str return get_installer(self._dist)