From b9d19a64d7ee168abe8253578c1af6f50c0e07da Mon Sep 17 00:00:00 2001 From: Devesh Kumar Singh Date: Sun, 3 May 2020 01:44:35 +0530 Subject: [PATCH] List values per configuration file --- src/pip/_internal/commands/configuration.py | 17 ++++++++++++----- src/pip/_internal/configuration.py | 5 +++++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/pip/_internal/commands/configuration.py b/src/pip/_internal/commands/configuration.py index abb4e42ac..4183c3417 100644 --- a/src/pip/_internal/commands/configuration.py +++ b/src/pip/_internal/commands/configuration.py @@ -51,7 +51,7 @@ class ConfigurationCommand(Command): %prog [] get name %prog [] set name value %prog [] unset name - %prog [] list-files + %prog [] debug """ def __init__(self, name, summary, isolated=False): @@ -107,7 +107,7 @@ class ConfigurationCommand(Command): "get": self.get_name, "set": self.set_name_value, "unset": self.unset_name, - "list-files": self.list_config_files, + "debug": self.list_config_files, } # Determine action @@ -172,7 +172,6 @@ class ConfigurationCommand(Command): def list_values(self, options, args): self._get_n_args(args, "list", n=0) - for key, value in sorted(self.configuration.items()): write_output("%s=%r", key, value) @@ -196,13 +195,21 @@ class ConfigurationCommand(Command): def list_config_files(self, options, args): self._get_n_args(args, "list-files", n=0) - for variant, files in sorted(self.configuration.iter_config_files()): write_output("%s:", variant) for fname in files: with indent_log(): + file_exists = os.path.exists(fname) write_output("%s, exists: %r ", - fname, os.path.exists(fname)) + fname, file_exists) + if file_exists: + self.print_config_file_values(variant) + + def print_config_file_values(self, variant): + for name, value in self.configuration. \ + get_values_in_config(variant).items(): + with indent_log(): + write_output("%s: %s ", name, value) def open_in_editor(self, options, args): editor = self._determine_editor(options) diff --git a/src/pip/_internal/configuration.py b/src/pip/_internal/configuration.py index 894cdeaf6..bad335714 100644 --- a/src/pip/_internal/configuration.py +++ b/src/pip/_internal/configuration.py @@ -401,6 +401,11 @@ class Configuration(object): # finally virtualenv configuration first trumping others yield kinds.SITE, config_files[kinds.SITE] + def get_values_in_config(self, variant): + # type: (Kind) -> Dict[str, Any] + """Get values present in a config file""" + return self._config[variant] + def _get_parser_to_modify(self): # type: () -> Tuple[str, RawConfigParser] # Determine which parser to modify