summaryrefslogtreecommitdiff
path: root/setuptools/command/upload.py
diff options
context:
space:
mode:
authorSteve Kowalik <steven@wedontsleep.org>2016-02-16 16:01:54 +1100
committerSteve Kowalik <steven@wedontsleep.org>2016-02-16 16:01:54 +1100
commit69175b941a74a4e2f37b856437b3ca20bc2f240a (patch)
treee0349b731b724c76963f9fd429f53b22cbf142d3 /setuptools/command/upload.py
parent43d0308ad6a8c83be645b09e8c1871b36ff3c4c9 (diff)
parent8ccd428cd2a733891bffce13e017774ea82bd8d2 (diff)
downloadpython-setuptools-git-69175b941a74a4e2f37b856437b3ca20bc2f240a.tar.gz
Merge from master, resolving conflicts.
Diffstat (limited to 'setuptools/command/upload.py')
-rw-r--r--setuptools/command/upload.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/setuptools/command/upload.py b/setuptools/command/upload.py
new file mode 100644
index 00000000..08c20ba8
--- /dev/null
+++ b/setuptools/command/upload.py
@@ -0,0 +1,23 @@
+from distutils.command import upload as orig
+
+
+class upload(orig.upload):
+ """
+ Override default upload behavior to look up password
+ in the keyring if available.
+ """
+
+ def finalize_options(self):
+ orig.upload.finalize_options(self)
+ self.password or self._load_password_from_keyring()
+
+ def _load_password_from_keyring(self):
+ """
+ Attempt to load password from keyring. Suppress Exceptions.
+ """
+ try:
+ keyring = __import__('keyring')
+ self.password = keyring.get_password(self.repository,
+ self.username)
+ except Exception:
+ pass