Hello community,
here is the log from the commit of package python-keyring for openSUSE:Factory checked in at 2018-10-18 15:29:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-keyring (Old)
and /work/SRC/openSUSE:Factory/.python-keyring.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-keyring"
Thu Oct 18 15:29:03 2018 rev:32 rq:641907 version:15.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-keyring/python-keyring.changes 2018-09-16 18:29:52.971454546 +0200
+++ /work/SRC/openSUSE:Factory/.python-keyring.new/python-keyring.changes 2018-10-18 15:29:04.870803426 +0200
@@ -1,0 +2,23 @@
+Fri Oct 12 03:19:07 UTC 2018 - Arun Persaud
+
+- specfile:
+ * removed devel from noarch
+
+- update to version 15.1.0:
+ * #340: Add the Null keyring, disabled by default.
+ * #340: Added --disable option to command-line interface.
+ * #340: Now honor a PYTHON_KEYRING_BACKEND environment variable to
+ select a backend. Environments may set to
+ keyring.backends.null.Keyring to disable keyring.
+
+- changes from version 15.0.0:
+ * Removed deprecated keyring.util.escape module.
+ * Fixed warning about using deprecated Abstract Base Classes from
+ collections module.
+
+- changes from version 14.0.0:
+ * Removed getpassbackend module and alias in
+ keyring.get_pass_get_password. Instead, just use:
+ * keyring.get_password(getpass.getuser(), 'Python')
+
+-------------------------------------------------------------------
Old:
----
keyring-13.2.1.tar.gz
New:
----
keyring-15.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-keyring.spec ++++++
--- /var/tmp/diff_new_pack.IceqKe/_old 2018-10-18 15:29:05.754802388 +0200
+++ /var/tmp/diff_new_pack.IceqKe/_new 2018-10-18 15:29:05.758802383 +0200
@@ -12,21 +12,20 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-keyring
-Version: 13.2.1
+Version: 15.1.0
Release: 0
Summary: Store and access your passwords safely
License: Python-2.0 AND MIT
Group: Development/Languages/Python
-Url: https://github.com/jaraco/keyring
+URL: https://github.com/jaraco/keyring
Source: https://files.pythonhosted.org/packages/source/k/keyring/keyring-%{version}.tar.gz
BuildRequires: %{python_module SecretStorage}
-BuildRequires: %{python_module devel}
BuildRequires: %{python_module entrypoints}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module pytest >= 3.5}
++++++ keyring-13.2.1.tar.gz -> keyring-15.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/CHANGES.rst new/keyring-15.1.0/CHANGES.rst
--- old/keyring-13.2.1/CHANGES.rst 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/CHANGES.rst 2018-09-14 17:48:03.000000000 +0200
@@ -1,3 +1,30 @@
+15.1.0
+------
+
+* #340: Add the Null keyring, disabled by default.
+* #340: Added ``--disable`` option to command-line
+ interface.
+* #340: Now honor a ``PYTHON_KEYRING_BACKEND``
+ environment variable to select a backend. Environments
+ may set to ``keyring.backends.null.Keyring`` to disable
+ keyring.
+
+15.0.0
+------
+
+Removed deprecated ``keyring.util.escape`` module.
+
+Fixed warning about using deprecated Abstract Base Classes
+from collections module.
+
+14.0.0
+------
+
+Removed ``getpassbackend`` module and alias in
+``keyring.get_pass_get_password``. Instead, just use::
+
+ keyring.get_password(getpass.getuser(), 'Python')
+
13.2.1
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/PKG-INFO new/keyring-15.1.0/PKG-INFO
--- old/keyring-13.2.1/PKG-INFO 2018-07-06 03:22:06.000000000 +0200
+++ new/keyring-15.1.0/PKG-INFO 2018-09-14 17:48:29.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: keyring
-Version: 13.2.1
+Version: 15.1.0
Summary: Store and access your passwords safely.
Home-page: https://github.com/jaraco/keyring
Author: Kang Zhang
@@ -385,5 +385,5 @@
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=2.7
-Provides-Extra: testing
Provides-Extra: docs
+Provides-Extra: testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/__init__.py new/keyring-15.1.0/keyring/__init__.py
--- old/keyring-13.2.1/keyring/__init__.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/__init__.py 2018-09-14 17:48:03.000000000 +0200
@@ -2,9 +2,8 @@
from .core import (set_keyring, get_keyring, set_password, get_password,
delete_password)
-from .getpassbackend import get_password as get_pass_get_password
__all__ = (
'set_keyring', 'get_keyring', 'set_password', 'get_password',
- 'delete_password', 'get_pass_get_password',
+ 'delete_password',
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/backend.py new/keyring-15.1.0/keyring/backend.py
--- old/keyring-13.2.1/keyring/backend.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/backend.py 2018-09-14 17:48:03.000000000 +0200
@@ -6,6 +6,7 @@
import abc
import logging
+import operator
import entrypoints
@@ -13,6 +14,7 @@
from .util import properties
from .py27compat import add_metaclass, filter
+__metaclass__ = type
log = logging.getLogger(__name__)
@@ -32,7 +34,7 @@
@add_metaclass(KeyringBackendMeta)
-class KeyringBackend(object):
+class KeyringBackend:
"""The abstract base class of the keyring, every backend must implement
this interface.
"""
@@ -61,6 +63,13 @@
cls.priority
return not bool(exc)
+ @classmethod
+ def get_viable_backends(cls):
+ """
+ Return all subclasses deemed viable.
+ """
+ return filter(operator.attrgetter('viable'), cls._classes)
+
@properties.ClassProperty
@classmethod
def name(cls):
@@ -100,7 +109,7 @@
raise errors.PasswordDeleteError("reason")
-class Crypter(object):
+class Crypter:
"""Base class providing encryption and decryption
"""
@@ -165,15 +174,6 @@
parameters.
"""
_load_plugins()
-
- def is_class_viable(keyring_cls):
- try:
- keyring_cls.priority
- except RuntimeError:
- return False
- return True
-
- all_classes = KeyringBackend._classes
- viable_classes = filter(is_class_viable, all_classes)
- return list(util.suppress_exceptions(viable_classes,
- exceptions=TypeError))
+ viable_classes = KeyringBackend.get_viable_backends()
+ rings = util.suppress_exceptions(viable_classes, exceptions=TypeError)
+ return list(rings)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/backends/Windows.py new/keyring-15.1.0/keyring/backends/Windows.py
--- old/keyring-13.2.1/keyring/backends/Windows.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/backends/Windows.py 2018-09-14 17:48:03.000000000 +0200
@@ -21,6 +21,8 @@
except ImportError:
pass
+__metaclass__ = type
+
def has_pywin32():
"""
@@ -126,7 +128,7 @@
)
-class OldPywinError(object):
+class OldPywinError:
"""
A compatibility wrapper for old PyWin32 errors, such as reported in
https://bitbucket.org/kang/python-keyring-lib/issue/140/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/backends/_OS_X_API.py new/keyring-15.1.0/keyring/backends/_OS_X_API.py
--- old/keyring-13.2.1/keyring/backends/_OS_X_API.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/backends/_OS_X_API.py 2018-09-14 17:48:03.000000000 +0200
@@ -5,6 +5,8 @@
from keyring.py27compat import string_types, add_metaclass
+__metaclass__ = type
+
sec_keychain_ref = sec_keychain_item_ref = c_void_p
OS_status = c_int32
@@ -156,14 +158,14 @@
@add_metaclass(PackedAttributes)
-class SecProtocolType(object):
+class SecProtocolType:
kSecProtocolTypeHTTP = 'http'
kSecProtocolTypeHTTPS = 'htps'
kSecProtocolTypeFTP = 'ftp '
@add_metaclass(PackedAttributes)
-class SecAuthenticationType(object):
+class SecAuthenticationType:
"""
>>> SecAuthenticationType.kSecAuthenticationTypeDefault
1684434036
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/backends/null.py new/keyring-15.1.0/keyring/backends/null.py
--- old/keyring-13.2.1/keyring/backends/null.py 1970-01-01 01:00:00.000000000 +0100
+++ new/keyring-15.1.0/keyring/backends/null.py 2018-09-14 17:48:03.000000000 +0200
@@ -0,0 +1,17 @@
+from ..backend import KeyringBackend
+
+
+class Keyring(KeyringBackend):
+ """
+ Keyring that return None on every operation.
+
+ >>> kr = Keyring()
+ >>> kr.get_password('svc', 'user')
+ """
+
+ priority = -1
+
+ def get_password(self, service, username, password=None):
+ pass
+
+ set_password = delete_password = get_password
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/cli.py new/keyring-15.1.0/keyring/cli.py
--- old/keyring-13.2.1/keyring/cli.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/cli.py 2018-09-14 17:48:03.000000000 +0200
@@ -11,11 +11,14 @@
from . import backend
from . import set_keyring, get_password, set_password, delete_password
+__metaclass__ = type
-class CommandLineTool(object):
+
+class CommandLineTool:
def __init__(self):
self.parser = OptionParser(
- usage="%prog [get|set|del] SERVICE USERNAME")
+ usage="%prog [get|set|del] SERVICE USERNAME",
+ )
self.parser.add_option("-p", "--keyring-path",
dest="keyring_path", default=None,
help="Path to the keyring backend")
@@ -25,6 +28,9 @@
self.parser.add_option("--list-backends",
action="store_true",
help="List keyring backends and exit")
+ self.parser.add_option("--disable",
+ action="store_true",
+ help="Disable keyring and exit")
def run(self, argv):
opts, args = self.parser.parse_args(argv)
@@ -34,6 +40,10 @@
print(k)
return
+ if opts.disable:
+ core.disable()
+ return
+
try:
kind, service, username = args
except ValueError:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/core.py new/keyring-15.1.0/keyring/core.py
--- old/keyring-13.2.1/keyring/core.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/core.py 2018-09-14 17:48:03.000000000 +0200
@@ -35,6 +35,23 @@
return _keyring_backend
+def disable():
+ """
+ Configure the null keyring as the default.
+ """
+ root = platform.config_root()
+ try:
+ os.makedirs(root)
+ except OSError:
+ pass
+ filename = os.path.join(root, 'keyringrc.cfg')
+ if os.path.exists(filename):
+ msg = "Refusing to overwrite {filename}".format(**locals())
+ raise RuntimeError(msg)
+ with open(filename, 'w') as file:
+ file.write('[backend]\ndefault-keyring=keyring.backends.null.Keyring')
+
+
def get_password(service_name, username):
"""Get password from the specified service.
"""
@@ -67,7 +84,8 @@
keyrings = filter(limit, backend.get_all_keyring())
set_keyring(
- load_config()
+ load_env()
+ or load_config()
or max(keyrings, default=fail.Keyring, key=by_priority)
)
@@ -111,6 +129,14 @@
return class_()
+def load_env():
+ """Load a keyring configured in the environment variable."""
+ try:
+ return load_keyring(os.environ['PYTHON_KEYRING_BACKEND'])
+ except KeyError:
+ pass
+
+
def load_config():
"""Load a keyring using the config file in the config root."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/credentials.py new/keyring-15.1.0/keyring/credentials.py
--- old/keyring-13.2.1/keyring/credentials.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/credentials.py 2018-09-14 17:48:03.000000000 +0200
@@ -3,9 +3,11 @@
from .py27compat import add_metaclass
+__metaclass__ = type
+
@add_metaclass(abc.ABCMeta)
-class Credential(object):
+class Credential:
"""Abstract class to manage credentials
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/errors.py new/keyring-15.1.0/keyring/errors.py
--- old/keyring-13.2.1/keyring/errors.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/errors.py 2018-09-14 17:48:03.000000000 +0200
@@ -1,6 +1,9 @@
import sys
+__metaclass__ = type
+
+
class KeyringError(Exception):
"""Base class for exceptions in keyring
"""
@@ -26,7 +29,7 @@
"""
-class ExceptionRaisedContext(object):
+class ExceptionRaisedContext:
"""
An exception-trapping context that indicates whether an exception was
raised.
@@ -46,7 +49,7 @@
self.exc_info.type, self.ExpectedException)
-class ExceptionInfo(object):
+class ExceptionInfo:
def __init__(self, *info):
if not info:
info = sys.exc_info()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/getpassbackend.py new/keyring-15.1.0/keyring/getpassbackend.py
--- old/keyring-13.2.1/keyring/getpassbackend.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/getpassbackend.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-"""Specific support for getpass."""
-import getpass
-
-from . import core
-
-
-def get_password(prompt='Password: ', stream=None,
- service_name='Python',
- username=None):
- if username is None:
- username = getpass.getuser()
- return core.get_password(service_name, username)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/http.py new/keyring-15.1.0/keyring/http.py
--- old/keyring-13.2.1/keyring/http.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/http.py 2018-09-14 17:48:03.000000000 +0200
@@ -16,8 +16,10 @@
from . import get_password, delete_password, set_password
+__metaclass__ = type
-class PasswordMgr(object):
+
+class PasswordMgr:
def get_username(self, realm, authuri):
return getpass.getuser()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/py32compat.py new/keyring-15.1.0/keyring/py32compat.py
--- old/keyring-13.2.1/keyring/py32compat.py 1970-01-01 01:00:00.000000000 +0100
+++ new/keyring-15.1.0/keyring/py32compat.py 2018-09-14 17:48:03.000000000 +0200
@@ -0,0 +1,7 @@
+try:
+ from collections import abc
+except ImportError:
+ import collections as abc
+
+
+__all__ = ['abc']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/tests/test_backend.py new/keyring-15.1.0/keyring/tests/test_backend.py
--- old/keyring-13.2.1/keyring/tests/test_backend.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/tests/test_backend.py 2018-09-14 17:48:03.000000000 +0200
@@ -13,6 +13,8 @@
from .util import random_string
from keyring import errors
+__metaclass__ = type
+
# unicode only characters
# Sourced from The Quick Brown Fox... Pangrams
# http://www.columbia.edu/~fdc/utf8/
@@ -31,7 +33,7 @@
return all(32 <= ord(c) < 127 for c in s)
-class BackendBasicTests(object):
+class BackendBasicTests:
"""Test for the keyring's basic functions. password_set and password_get
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/tests/util.py new/keyring-15.1.0/keyring/tests/util.py
--- old/keyring-13.2.1/keyring/tests/util.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/tests/util.py 2018-09-14 17:48:03.000000000 +0200
@@ -4,8 +4,10 @@
import random
import string
+__metaclass__ = type
-class ImportKiller(object):
+
+class ImportKiller:
"Context manager to make an import of a given name or names fail."
def __init__(self, *names):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/util/escape.py new/keyring-15.1.0/keyring/util/escape.py
--- old/keyring-13.2.1/keyring/util/escape.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/util/escape.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,66 +0,0 @@
-"""
-escape/unescape routines available for backends which need
-alphanumeric usernames, services, or other values
-"""
-
-import re
-import string
-import sys
-import warnings
-
-warnings.warn(
- "escape is deprecated and will be removed",
- DeprecationWarning,
-)
-
-# True if we are running on Python 3.
-# taken from six.py
-PY3 = sys.version_info[0] == 3
-
-# allow use of unicode literals
-if PY3:
- def u(s):
- return s
-else:
- def u(s):
- return s.decode('utf-8')
-
-_unichr = chr if PY3 else unichr # noqa: F821
-
-LEGAL_CHARS = (
- getattr(string, 'letters', None) # Python 2
- or getattr(string, 'ascii_letters') # Python 3
-) + string.digits
-
-ESCAPE_FMT = "_%02X"
-
-
-def _escape_char(c):
- "Single char escape. Return the char, escaped if not already legal"
- if isinstance(c, int):
- c = _unichr(c)
- return c if c in LEGAL_CHARS else ESCAPE_FMT % ord(c)
-
-
-def escape(value):
- """
- Escapes given string so the result consists of alphanumeric chars and
- underscore only.
- """
- return "".join(_escape_char(c) for c in value.encode('utf-8'))
-
-
-def _unescape_code(regex_match):
- ordinal = int(regex_match.group('code'), 16)
- return bytes([ordinal]) if PY3 else chr(ordinal)
-
-
-def unescape(value):
- """
- Inverse of escape.
- """
- pattern = ESCAPE_FMT.replace('%02X', '(?P<code>[0-9A-Fa-f]{2})')
- # the pattern must be bytes to operate on bytes
- pattern_bytes = pattern.encode('ascii')
- re_esc = re.compile(pattern_bytes)
- return re_esc.sub(_unescape_code, value.encode('ascii')).decode('utf-8')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring/util/properties.py new/keyring-15.1.0/keyring/util/properties.py
--- old/keyring-13.2.1/keyring/util/properties.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/keyring/util/properties.py 2018-09-14 17:48:03.000000000 +0200
@@ -1,4 +1,6 @@
-from collections import Callable
+from ..py32compat import abc
+
+__metaclass__ = type
class ClassProperty(property):
@@ -26,14 +28,14 @@
# borrowed from jaraco.util.dictlib
-class NonDataProperty(object):
+class NonDataProperty:
"""Much like the property builtin, but only implements __get__,
making it a non-data property, and can be subsequently reset.
See http://users.rcn.com/python/download/Descriptor.htm for more
information.
- >>> class X(object):
+ >>> class X:
... @NonDataProperty
... def foo(self):
... return 3
@@ -47,7 +49,7 @@
def __init__(self, fget):
assert fget is not None, "fget cannot be none"
- assert isinstance(fget, Callable), "fget must be callable"
+ assert isinstance(fget, abc.Callable), "fget must be callable"
self.fget = fget
def __get__(self, obj, objtype=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring.egg-info/PKG-INFO new/keyring-15.1.0/keyring.egg-info/PKG-INFO
--- old/keyring-13.2.1/keyring.egg-info/PKG-INFO 2018-07-06 03:22:05.000000000 +0200
+++ new/keyring-15.1.0/keyring.egg-info/PKG-INFO 2018-09-14 17:48:29.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: keyring
-Version: 13.2.1
+Version: 15.1.0
Summary: Store and access your passwords safely.
Home-page: https://github.com/jaraco/keyring
Author: Kang Zhang
@@ -385,5 +385,5 @@
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=2.7
-Provides-Extra: testing
Provides-Extra: docs
+Provides-Extra: testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring.egg-info/SOURCES.txt new/keyring-15.1.0/keyring.egg-info/SOURCES.txt
--- old/keyring-13.2.1/keyring.egg-info/SOURCES.txt 2018-07-06 03:22:06.000000000 +0200
+++ new/keyring-15.1.0/keyring.egg-info/SOURCES.txt 2018-09-14 17:48:29.000000000 +0200
@@ -25,9 +25,9 @@
keyring/credentials.py
keyring/devpi_client.py
keyring/errors.py
-keyring/getpassbackend.py
keyring/http.py
keyring/py27compat.py
+keyring/py32compat.py
keyring/py33compat.py
keyring.egg-info/PKG-INFO
keyring.egg-info/SOURCES.txt
@@ -43,6 +43,7 @@
keyring/backends/__init__.py
keyring/backends/fail.py
keyring/backends/kwallet.py
+keyring/backends/null.py
keyring/tests/__init__.py
keyring/tests/test_backend.py
keyring/tests/util.py
@@ -52,7 +53,6 @@
keyring/tests/backends/test_Windows.py
keyring/tests/backends/test_kwallet.py
keyring/util/__init__.py
-keyring/util/escape.py
keyring/util/platform_.py
keyring/util/properties.py
tests/test_packaging.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/keyring.egg-info/entry_points.txt new/keyring-15.1.0/keyring.egg-info/entry_points.txt
--- old/keyring-13.2.1/keyring.egg-info/entry_points.txt 2018-07-06 03:22:05.000000000 +0200
+++ new/keyring-15.1.0/keyring.egg-info/entry_points.txt 2018-09-14 17:48:29.000000000 +0200
@@ -5,8 +5,8 @@
keyring = keyring.devpi_client
[keyring.backends]
+KWallet = keyring.backends.kwallet
SecretService = keyring.backends.SecretService
-kwallet = keyring.backends.kwallet
+Windows = keyring.backends.Windows
macOS = keyring.backends.OS_X
-windows = keyring.backends.Windows
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keyring-13.2.1/setup.py new/keyring-15.1.0/setup.py
--- old/keyring-13.2.1/setup.py 2018-07-06 03:21:38.000000000 +0200
+++ new/keyring-15.1.0/setup.py 2018-09-14 17:48:03.000000000 +0200
@@ -83,10 +83,10 @@
'keyring = keyring.devpi_client',
],
'keyring.backends': [
- 'windows = keyring.backends.Windows',
+ 'Windows = keyring.backends.Windows',
'macOS = keyring.backends.OS_X',
'SecretService = keyring.backends.SecretService',
- 'kwallet = keyring.backends.kwallet',
+ 'KWallet = keyring.backends.kwallet',
],
},
)