diff options
author | Shubham Saini <shubham6405@gmail.com> | 2019-08-05 08:32:33 +0000 |
---|---|---|
committer | Shubham Saini <shubham6405@gmail.com> | 2019-08-05 08:32:33 +0000 |
commit | 227b2d30a8675b44918f9d9ca89b24144a938215 (patch) | |
tree | 9f8e6a28724514b6fdf463a9ab2067a7ef309b72 /venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/configuration.py | |
parent | 842a8cfbbbdb1f92889d892e4859dbd5d40c5be8 (diff) |
removing venv files
Diffstat (limited to 'venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/configuration.py')
-rw-r--r-- | venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/configuration.py | 227 |
1 files changed, 0 insertions, 227 deletions
diff --git a/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/configuration.py b/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/configuration.py deleted file mode 100644 index e10d9a9..0000000 --- a/venv/lib/python3.7/site-packages/pip-10.0.1-py3.7.egg/pip/_internal/commands/configuration.py +++ /dev/null | |||
@@ -1,227 +0,0 @@ | |||
1 | import logging | ||
2 | import os | ||
3 | import subprocess | ||
4 | |||
5 | from pip._internal.basecommand import Command | ||
6 | from pip._internal.configuration import Configuration, kinds | ||
7 | from pip._internal.exceptions import PipError | ||
8 | from pip._internal.locations import venv_config_file | ||
9 | from pip._internal.status_codes import ERROR, SUCCESS | ||
10 | from pip._internal.utils.misc import get_prog | ||
11 | |||
12 | logger = logging.getLogger(__name__) | ||
13 | |||
14 | |||
15 | class ConfigurationCommand(Command): | ||
16 | """Manage local and global configuration. | ||
17 | |||
18 | Subcommands: | ||
19 | |||
20 | list: List the active configuration (or from the file specified) | ||
21 | edit: Edit the configuration file in an editor | ||
22 | get: Get the value associated with name | ||
23 | set: Set the name=value | ||
24 | unset: Unset the value associated with name | ||
25 | |||
26 | If none of --user, --global and --venv are passed, a virtual | ||
27 | environment configuration file is used if one is active and the file | ||
28 | exists. Otherwise, all modifications happen on the to the user file by | ||
29 | default. | ||
30 | """ | ||
31 | |||
32 | name = 'config' | ||
33 | usage = """ | ||
34 | %prog [<file-option>] list | ||
35 | %prog [<file-option>] [--editor <editor-path>] edit | ||
36 | |||
37 | %prog [<file-option>] get name | ||
38 | %prog [<file-option>] set name value | ||
39 | %prog [<file-option>] unset name | ||
40 | """ | ||
41 | |||
42 | summary = "Manage local and global configuration." | ||
43 | |||
44 | def __init__(self, *args, **kwargs): | ||
45 | super(ConfigurationCommand, self).__init__(*args, **kwargs) | ||
46 | |||
47 | self.configuration = None | ||
48 | |||
49 | self.cmd_opts.add_option( | ||
50 | '--editor', | ||
51 | dest='editor', | ||
52 | action='store', | ||
53 | default=None, | ||
54 | help=( | ||
55 | 'Editor to use to edit the file. Uses VISUAL or EDITOR ' | ||
56 | 'environment variables if not provided.' | ||
57 | ) | ||
58 | ) | ||
59 | |||
60 | self.cmd_opts.add_option( | ||
61 | '--global', | ||
62 | dest='global_file', | ||
63 | action='store_true', | ||
64 | default=False, | ||
65 | help='Use the system-wide configuration file only' | ||
66 | ) | ||
67 | |||
68 | self.cmd_opts.add_option( | ||
69 | '--user', | ||
70 | dest='user_file', | ||
71 | action='store_true', | ||
72 | default=False, | ||
73 | help='Use the user configuration file only' | ||
74 | ) | ||
75 | |||
76 | self.cmd_opts.add_option( | ||
77 | '--venv', | ||
78 | dest='venv_file', | ||
79 | action='store_true', | ||
80 | default=False, | ||
81 | help='Use the virtualenv configuration file only' | ||
82 | ) | ||
83 | |||
84 | self.parser.insert_option_group(0, self.cmd_opts) | ||
85 | |||
86 | def run(self, options, args): | ||
87 | handlers = { | ||
88 | "list": self.list_values, | ||
89 | "edit": self.open_in_editor, | ||
90 | "get": self.get_name, | ||
91 | "set": self.set_name_value, | ||
92 | "unset": self.unset_name | ||
93 | } | ||
94 | |||
95 | # Determine action | ||
96 | if not args or args[0] not in handlers: | ||
97 | logger.error("Need an action ({}) to perform.".format( | ||
98 | ", ".join(sorted(handlers))) | ||
99 | ) | ||
100 | return ERROR | ||
101 | |||
102 | action = args[0] | ||
103 | |||
104 | # Determine which configuration files are to be loaded | ||
105 | # Depends on whether the command is modifying. | ||
106 | try: | ||
107 | load_only = self._determine_file( | ||
108 | options, need_value=(action in ["get", "set", "unset", "edit"]) | ||
109 | ) | ||
110 | except PipError as e: | ||
111 | logger.error(e.args[0]) | ||
112 | return ERROR | ||
113 | |||
114 | # Load a new configuration | ||
115 | self.configuration = Configuration( | ||
116 | isolated=options.isolated_mode, load_only=load_only | ||
117 | ) | ||
118 | self.configuration.load() | ||
119 | |||
120 | # Error handling happens here, not in the action-handlers. | ||
121 | try: | ||
122 | handlers[action](options, args[1:]) | ||
123 | except PipError as e: | ||
124 | logger.error(e.args[0]) | ||
125 | return ERROR | ||
126 | |||
127 | return SUCCESS | ||
128 | |||
129 | def _determine_file(self, options, need_value): | ||
130 | file_options = { | ||
131 | kinds.USER: options.user_file, | ||
132 | kinds.GLOBAL: options.global_file, | ||
133 | kinds.VENV: options.venv_file | ||
134 | } | ||
135 | |||
136 | if sum(file_options.values()) == 0: | ||
137 | if not need_value: | ||
138 | return None | ||
139 | # Default to user, unless there's a virtualenv file. | ||
140 | elif os.path.exists(venv_config_file): | ||
141 | return kinds.VENV | ||
142 | else: | ||
143 | return kinds.USER | ||
144 | elif sum(file_options.values()) == 1: | ||
145 | # There's probably a better expression for this. | ||
146 | return [key for key in file_options if file_options[key]][0] | ||
147 | |||
148 | raise PipError( | ||
149 | "Need exactly one file to operate upon " | ||
150 | "(--user, --venv, --global) to perform." | ||
151 | ) | ||
152 | |||
153 | def list_values(self, options, args): | ||
154 | self._get_n_args(args, "list", n=0) | ||
155 | |||
156 | for key, value in sorted(self.configuration.items()): | ||
157 | logger.info("%s=%r", key, value) | ||
158 | |||
159 | def get_name(self, options, args): | ||
160 | key = self._get_n_args(args, "get [name]", n=1) | ||
161 | value = self.configuration.get_value(key) | ||
162 | |||
163 | logger.info("%s", value) | ||
164 | |||
165 | def set_name_value(self, options, args): | ||
166 | key, value = self._get_n_args(args, "set [name] [value]", n=2) | ||
167 | self.configuration.set_value(key, value) | ||
168 | |||
169 | self._save_configuration() | ||
170 | |||
171 | def unset_name(self, options, args): | ||
172 | key = self._get_n_args(args, "unset [name]", n=1) | ||
173 | self.configuration.unset_value(key) | ||
174 | |||
175 | self._save_configuration() | ||
176 | |||
177 | def open_in_editor(self, options, args): | ||
178 | editor = self._determine_editor(options) | ||
179 | |||
180 | fname = self.configuration.get_file_to_edit() | ||
181 | if fname is None: | ||
182 | raise PipError("Could not determine appropriate file.") | ||
183 | |||
184 | try: | ||
185 | subprocess.check_call([editor, fname]) | ||
186 | except subprocess.CalledProcessError as e: | ||
187 | raise PipError( | ||
188 | "Editor Subprocess exited with exit code {}" | ||
189 | .format(e.returncode) | ||
190 | ) | ||
191 | |||
192 | def _get_n_args(self, args, example, n): | ||
193 | """Helper to make sure the command got the right number of arguments | ||
194 | """ | ||
195 | if len(args) != n: | ||
196 | msg = ( | ||
197 | 'Got unexpected number of arguments, expected {}. ' | ||
198 | '(example: "{} config {}")' | ||
199 | ).format(n, get_prog(), example) | ||
200 | raise PipError(msg) | ||
201 | |||
202 | if n == 1: | ||
203 | return args[0] | ||
204 | else: | ||
205 | return args | ||
206 | |||
207 | def _save_configuration(self): | ||
208 | # We successfully ran a modifying command. Need to save the | ||
209 | # configuration. | ||
210 | try: | ||
211 | self.configuration.save() | ||
212 | except Exception: | ||
213 | logger.error( | ||
214 | "Unable to save configuration. Please report this as a bug.", | ||
215 | exc_info=1 | ||
216 | ) | ||
217 | raise PipError("Internal Error.") | ||
218 | |||
219 | def _determine_editor(self, options): | ||
220 | if options.editor is not None: | ||
221 | return options.editor | ||
222 | elif "VISUAL" in os.environ: | ||
223 | return os.environ["VISUAL"] | ||
224 | elif "EDITOR" in os.environ: | ||
225 | return os.environ["EDITOR"] | ||
226 | else: | ||
227 | raise PipError("Could not determine editor to use.") | ||