(password_cmd, auth_method_desc, strip_newline=False)
| 2199 | |
| 2200 | |
| 2201 | def read_password_cmd(password_cmd, auth_method_desc, strip_newline=False): |
| 2202 | try: |
| 2203 | p = subprocess.Popen(shlex.split(password_cmd), stdout=subprocess.PIPE, |
| 2204 | stderr=subprocess.PIPE) |
| 2205 | password, stderr = p.communicate() |
| 2206 | |
| 2207 | if p.returncode != 0: |
| 2208 | print("Error retrieving %s (command was '%s', error was: " |
| 2209 | "'%s')" % (auth_method_desc, password_cmd, stderr.strip()), file=sys.stderr) |
| 2210 | raise FatalShellException() |
| 2211 | |
| 2212 | if sys.version_info.major > 2: |
| 2213 | # Ensure we can manipulate the password as a string later. |
| 2214 | password = password.decode('utf-8') |
| 2215 | |
| 2216 | if strip_newline: |
| 2217 | password = password.rstrip('\r\n') |
| 2218 | |
| 2219 | return password |
| 2220 | except Exception as e: |
| 2221 | print("Error retrieving %s (command was: '%s', exception " |
| 2222 | "was: '%s')" % (auth_method_desc, password_cmd, e), file=sys.stderr) |
| 2223 | raise FatalShellException() |
| 2224 | |
| 2225 | |
| 2226 | def impala_shell_main(): |
no test coverage detected