auth.py 722 B

12345678910111213141516171819
  1. """
  2. Common authentication subroutines. Primarily for internal use.
  3. """
  4. def get_password(user, host, port, login_only=False):
  5. from fabric.state import env
  6. from fabric.network import join_host_strings
  7. host_string = join_host_strings(user, host, port)
  8. sudo_password = env.sudo_passwords.get(host_string, env.sudo_password)
  9. login_password = env.passwords.get(host_string, env.password)
  10. return login_password if login_only else sudo_password or login_password
  11. def set_password(user, host, port, password):
  12. from fabric.state import env
  13. from fabric.network import join_host_strings
  14. host_string = join_host_strings(user, host, port)
  15. env.password = env.passwords[host_string] = password