summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PKG-INFO2
-rw-r--r--debian/changelog6
-rw-r--r--mercurial_keyring.egg-info/PKG-INFO2
-rw-r--r--mercurial_keyring.py51
-rw-r--r--setup.py2
5 files changed, 47 insertions, 16 deletions
diff --git a/PKG-INFO b/PKG-INFO
index 79aa191..15d4a90 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: mercurial_keyring
-Version: 0.5.5
+Version: 0.6.1
Summary: Mercurial Keyring Extension
Home-page: http://bitbucket.org/Mekk/mercurial_keyring
Author: Marcin Kasperski
diff --git a/debian/changelog b/debian/changelog
index 02a2ce6..14365c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mercurial-keyring (0.6.1-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Christoph Mathys <eraserix@gmail.com> Fri, 04 Oct 2013 18:34:26 +0200
+
mercurial-keyring (0.5.5-1) unstable; urgency=low
* Initial release. (Closes: #568472)
diff --git a/mercurial_keyring.egg-info/PKG-INFO b/mercurial_keyring.egg-info/PKG-INFO
index 91c4bb3..58a1cb0 100644
--- a/mercurial_keyring.egg-info/PKG-INFO
+++ b/mercurial_keyring.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: mercurial-keyring
-Version: 0.5.5
+Version: 0.6.1
Summary: Mercurial Keyring Extension
Home-page: http://bitbucket.org/Mekk/mercurial_keyring
Author: Marcin Kasperski
diff --git a/mercurial_keyring.py b/mercurial_keyring.py
index 3143b04..8f42d9b 100644
--- a/mercurial_keyring.py
+++ b/mercurial_keyring.py
@@ -46,19 +46,44 @@ except:
from mercurial import mail
from urllib2 import AbstractBasicAuthHandler, AbstractDigestAuthHandler
-# mercurial.demandimport incompatibility workaround,
-# would cause gnomekeyring, one of the possible
-# keyring backends, not to work.
-from mercurial.demandimport import ignore
-if "gobject._gobject" not in ignore:
- ignore.append("gobject._gobject")
- ignore.append("configparser")
- ignore.append("json")
- ignore.append("abc")
- ignore.append("io")
- ignore.append("keyring")
-
-import keyring
+# mercurial.demandimport incompatibility workaround.
+# various keyring backends fail as they can't properly import helper
+# modules (as demandimport modifies python import behaviour).
+# If you get import errors with demandimport in backtrace, try
+# guessing what to block and extending the list below.
+from mercurial import demandimport
+for blocked_module in [
+ "gobject._gobject",
+ "configparser",
+ "json",
+ "abc",
+ "io",
+ "keyring",
+ "gdata.docs.service",
+ "gdata.service",
+ "types",
+ "atom.http",
+ "atom.http_interface",
+ "atom.service",
+ "atom.token_store",
+ "ctypes",
+ "secretstorage.exceptions",
+ "fs.opener",
+ ]:
+ if blocked_module not in demandimport.ignore:
+ demandimport.ignore.append(blocked_module)
+
+# Temporarily disable demandimport to make the need of extending
+# the list above less likely.
+if __import__ == demandimport._import:
+ demandimport.disable()
+ try:
+ import keyring
+ finally:
+ demandimport.enable()
+else:
+ import keyring
+
from urlparse import urlparse
import urllib2
import smtplib, socket
diff --git a/setup.py b/setup.py
index f4a9455..0167988 100644
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,5 @@
-version = '0.5.5'
+version = '0.6.1'
try:
from setuptools import setup, find_packages