[Python-modules-commits] [django-python3-ldap] 01/04: Import django-python3-ldap_0.9.12.orig.tar.gz

Michael Fladischer fladi at moszumanska.debian.org
Fri Mar 17 07:32:06 UTC 2017


This is an automated email from the git hooks/post-receive script.

fladi pushed a commit to branch master
in repository django-python3-ldap.

commit f4dba0513594012a00a0224dc428e0a2d018e89d
Author: Michael Fladischer <FladischerMichael at fladi.at>
Date:   Fri Mar 17 07:57:00 2017 +0100

    Import django-python3-ldap_0.9.12.orig.tar.gz
---
 PKG-INFO                                           |  2 +-
 django_python3_ldap.egg-info/PKG-INFO              |  2 +-
 django_python3_ldap.egg-info/requires.txt          |  4 +-
 django_python3_ldap/__init__.py                    |  2 +-
 django_python3_ldap/conf.py                        | 60 +++++++++++-----------
 django_python3_ldap/ldap.py                        | 46 +++++++++--------
 .../management/commands/ldap_promote.py            |  4 +-
 .../management/commands/ldap_sync_users.py         |  7 ++-
 django_python3_ldap/tests.py                       | 37 +++++++------
 django_python3_ldap/utils.py                       | 30 ++++++-----
 setup.py                                           | 24 ++++-----
 11 files changed, 113 insertions(+), 105 deletions(-)

diff --git a/PKG-INFO b/PKG-INFO
index e0d7f0f..536240e 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: django-python3-ldap
-Version: 0.9.11
+Version: 0.9.12
 Summary: Django LDAP user authentication backend for Python 3.
 Home-page: https://github.com/etianen/django-python3-ldap
 Author: Dave Hall
diff --git a/django_python3_ldap.egg-info/PKG-INFO b/django_python3_ldap.egg-info/PKG-INFO
index e0d7f0f..536240e 100644
--- a/django_python3_ldap.egg-info/PKG-INFO
+++ b/django_python3_ldap.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: django-python3-ldap
-Version: 0.9.11
+Version: 0.9.12
 Summary: Django LDAP user authentication backend for Python 3.
 Home-page: https://github.com/etianen/django-python3-ldap
 Author: Dave Hall
diff --git a/django_python3_ldap.egg-info/requires.txt b/django_python3_ldap.egg-info/requires.txt
index 2adeecc..3187fd1 100644
--- a/django_python3_ldap.egg-info/requires.txt
+++ b/django_python3_ldap.egg-info/requires.txt
@@ -1,2 +1,2 @@
-django>=1.7
-ldap3>=0.9.8.4,<=1.4.0,!=0.9.9.2
+django>=1.8
+ldap3==2.2.0
diff --git a/django_python3_ldap/__init__.py b/django_python3_ldap/__init__.py
index bd222f3..c6b0a53 100644
--- a/django_python3_ldap/__init__.py
+++ b/django_python3_ldap/__init__.py
@@ -3,4 +3,4 @@ Django LDAP user authentication backend for Python 3.
 """
 
 
-__version__ = (0, 9, 11)
+__version__ = (0, 9, 12)
diff --git a/django_python3_ldap/conf.py b/django_python3_ldap/conf.py
index e1e3469..3921205 100644
--- a/django_python3_ldap/conf.py
+++ b/django_python3_ldap/conf.py
@@ -34,28 +34,28 @@ class LazySettings(object):
         self._settings = settings
 
     LDAP_AUTH_URL = LazySetting(
-        name = "LDAP_AUTH_URL",
-        default = "ldap://localhost:389",
+        name="LDAP_AUTH_URL",
+        default="ldap://localhost:389",
     )
 
     LDAP_AUTH_USE_TLS = LazySetting(
-        name = "LDAP_AUTH_USE_TLS",
-        default = False,
+        name="LDAP_AUTH_USE_TLS",
+        default=False,
     )
 
     LDAP_AUTH_SEARCH_BASE = LazySetting(
-        name = "LDAP_AUTH_SEARCH_BASE",
-        default = "ou=people,dc=example,dc=com",
+        name="LDAP_AUTH_SEARCH_BASE",
+        default="ou=people,dc=example,dc=com",
     )
 
     LDAP_AUTH_OBJECT_CLASS = LazySetting(
-        name = "LDAP_AUTH_OBJECT_CLASS",
-        default = "inetOrgPerson",
+        name="LDAP_AUTH_OBJECT_CLASS",
+        default="inetOrgPerson",
     )
 
     LDAP_AUTH_USER_FIELDS = LazySetting(
-        name = "LDAP_AUTH_USER_FIELDS",
-        default = {
+        name="LDAP_AUTH_USER_FIELDS",
+        default={
             "username": "uid",
             "first_name": "givenName",
             "last_name": "sn",
@@ -64,55 +64,55 @@ class LazySettings(object):
     )
 
     LDAP_AUTH_USER_LOOKUP_FIELDS = LazySetting(
-        name = "LDAP_AUTH_USER_LOOKUP_FIELDS",
-        default = (
+        name="LDAP_AUTH_USER_LOOKUP_FIELDS",
+        default=(
             "username",
         ),
     )
 
     LDAP_AUTH_CLEAN_USER_DATA = LazySetting(
-        name = "LDAP_AUTH_CLEAN_USER_DATA",
-        default = "django_python3_ldap.utils.clean_user_data",
+        name="LDAP_AUTH_CLEAN_USER_DATA",
+        default="django_python3_ldap.utils.clean_user_data",
     )
 
     LDAP_AUTH_FORMAT_SEARCH_FILTERS = LazySetting(
-        name = "LDAP_AUTH_FORMAT_SEARCH_FILTERS",
-        default = "django_python3_ldap.utils.format_search_filters",
+        name="LDAP_AUTH_FORMAT_SEARCH_FILTERS",
+        default="django_python3_ldap.utils.format_search_filters",
     )
 
     LDAP_AUTH_SYNC_USER_RELATIONS = LazySetting(
-        name = "LDAP_AUTH_SYNC_USER_RELATIONS",
-        default = "django_python3_ldap.utils.sync_user_relations",
+        name="LDAP_AUTH_SYNC_USER_RELATIONS",
+        default="django_python3_ldap.utils.sync_user_relations",
     )
 
     LDAP_AUTH_FORMAT_USERNAME = LazySetting(
-        name = "LDAP_AUTH_FORMAT_USERNAME",
-        default = "django_python3_ldap.utils.format_username_openldap",
+        name="LDAP_AUTH_FORMAT_USERNAME",
+        default="django_python3_ldap.utils.format_username_openldap",
     )
 
     LDAP_AUTH_ACTIVE_DIRECTORY_DOMAIN = LazySetting(
-        name = "LDAP_AUTH_ACTIVE_DIRECTORY_DOMAIN",
-        default = None,
+        name="LDAP_AUTH_ACTIVE_DIRECTORY_DOMAIN",
+        default=None,
     )
 
     LDAP_AUTH_TEST_USER_USERNAME = LazySetting(
-        name = "LDAP_AUTH_TEST_USER_USERNAME",
-        default = "",
+        name="LDAP_AUTH_TEST_USER_USERNAME",
+        default="",
     )
 
     LDAP_AUTH_TEST_USER_PASSWORD = LazySetting(
-        name = "LDAP_AUTH_TEST_USER_PASSWORD",
-        default = "",
+        name="LDAP_AUTH_TEST_USER_PASSWORD",
+        default="",
     )
 
     LDAP_AUTH_CONNECTION_USERNAME = LazySetting(
-        name = "LDAP_AUTH_CONNECTION_USERNAME",
-        default = None,
+        name="LDAP_AUTH_CONNECTION_USERNAME",
+        default=None,
     )
 
     LDAP_AUTH_CONNECTION_PASSWORD = LazySetting(
-        name = "LDAP_AUTH_CONNECTION_PASSWORD",
-        default = None,
+        name="LDAP_AUTH_CONNECTION_PASSWORD",
+        default=None,
     )
 
 
diff --git a/django_python3_ldap/ldap.py b/django_python3_ldap/ldap.py
index a377c33..151502e 100644
--- a/django_python3_ldap/ldap.py
+++ b/django_python3_ldap/ldap.py
@@ -3,12 +3,10 @@ Low-level LDAP hooks.
 """
 
 import ldap3
+from ldap3.core.exceptions import LDAPException
 import logging
-
 from contextlib import contextmanager
-
 from django.contrib.auth import get_user_model
-
 from django_python3_ldap.conf import settings
 from django_python3_ldap.utils import import_func, format_search_filter
 
@@ -59,7 +57,7 @@ class Connection(object):
         }
         # Update or create the user.
         user, created = User.objects.update_or_create(
-            defaults = user_fields,
+            defaults=user_fields,
             **user_lookup
         )
         # Update relations
@@ -73,12 +71,12 @@ class Connection(object):
         users in the LDAP database.
         """
         paged_entries = self._connection.extend.standard.paged_search(
-            search_base = settings.LDAP_AUTH_SEARCH_BASE,
-            search_filter = format_search_filter({}),
-            search_scope = ldap3.SEARCH_SCOPE_WHOLE_SUBTREE,
-            attributes = ldap3.ALL_ATTRIBUTES,
-            get_operational_attributes = True,
-            paged_size = 30,
+            search_base=settings.LDAP_AUTH_SEARCH_BASE,
+            search_filter=format_search_filter({}),
+            search_scope=ldap3.SUBTREE,
+            attributes=ldap3.ALL_ATTRIBUTES,
+            get_operational_attributes=True,
+            paged_size=30,
         )
         return filter(None, (
             self._get_or_create_user(entry)
@@ -96,12 +94,12 @@ class Connection(object):
         """
         # Search the LDAP database.
         if self._connection.search(
-            search_base = settings.LDAP_AUTH_SEARCH_BASE,
-            search_filter = format_search_filter(kwargs),
-            search_scope = ldap3.SEARCH_SCOPE_WHOLE_SUBTREE,
-            attributes = ldap3.ALL_ATTRIBUTES,
-            get_operational_attributes = True,
-            size_limit = 1,
+            search_base=settings.LDAP_AUTH_SEARCH_BASE,
+            search_filter=format_search_filter(kwargs),
+            search_scope=ldap3.SUBTREE,
+            attributes=ldap3.ALL_ATTRIBUTES,
+            get_operational_attributes=True,
+            size_limit=1,
         ):
             return self._get_or_create_user(self._connection.response[0])
         return None
@@ -133,13 +131,17 @@ def connection(**kwargs):
     else:
         auto_bind = ldap3.AUTO_BIND_NO_TLS
     try:
-        with ldap3.Connection(ldap3.Server(settings.LDAP_AUTH_URL, allowed_referral_hosts=[("*", True)]), user=username, password=password, auto_bind=auto_bind) as c:
+        with ldap3.Connection(ldap3.Server(
+            settings.LDAP_AUTH_URL,
+            allowed_referral_hosts=[("*", True)]),
+            user=username,
+            password=password,
+            auto_bind=auto_bind,
+            raise_exceptions=True,
+        ) as c:
             yield Connection(c)
-    except ldap3.LDAPBindError as ex:
-        logger.info("LDAP login failed: {ex}".format(ex=ex))
-        yield None
-    except ldap3.LDAPException as ex:
-        logger.warn("LDAP connect failed: {ex}".format(ex=ex))
+    except LDAPException as ex:
+        logger.info("LDAP connect failed: {ex}".format(ex=ex))
         yield None
 
 
diff --git a/django_python3_ldap/management/commands/ldap_promote.py b/django_python3_ldap/management/commands/ldap_promote.py
index 5080181..b4f7373 100644
--- a/django_python3_ldap/management/commands/ldap_promote.py
+++ b/django_python3_ldap/management/commands/ldap_promote.py
@@ -25,7 +25,7 @@ class Command(BaseCommand):
                 user = User.objects.get(username=username)
             except User.DoesNotExist:
                 raise CommandError("User with username {username} does not exist".format(
-                    username = username,
+                    username=username,
                 ))
             else:
                 user.is_staff = True
@@ -33,5 +33,5 @@ class Command(BaseCommand):
                 user.save()
                 if verbosity >= 1:
                     self.stdout.write("Promoted {user} to admin superuser".format(
-                        user = user,
+                        user=user,
                     ))
diff --git a/django_python3_ldap/management/commands/ldap_sync_users.py b/django_python3_ldap/management/commands/ldap_sync_users.py
index c18fa01..8a6abb5 100644
--- a/django_python3_ldap/management/commands/ldap_sync_users.py
+++ b/django_python3_ldap/management/commands/ldap_sync_users.py
@@ -12,9 +12,12 @@ class Command(BaseCommand):
     @transaction.atomic()
     def handle(self, *args, **kwargs):
         verbosity = int(kwargs.get("verbosity", 1))
-        with ldap.connection(username=settings.LDAP_AUTH_CONNECTION_USERNAME, password=settings.LDAP_AUTH_CONNECTION_PASSWORD) as connection:
+        with ldap.connection(
+            username=settings.LDAP_AUTH_CONNECTION_USERNAME,
+            password=settings.LDAP_AUTH_CONNECTION_PASSWORD,
+        ) as connection:
             for user in connection.iter_users():
                 if verbosity >= 1:
                     self.stdout.write("Synced {user}".format(
-                        user = user,
+                        user=user,
                     ))
diff --git a/django_python3_ldap/tests.py b/django_python3_ldap/tests.py
index 556e6ff..3551bdc 100644
--- a/django_python3_ldap/tests.py
+++ b/django_python3_ldap/tests.py
@@ -46,7 +46,7 @@ class TestLdap(TestCase):
     def testGetUserKwargsSuccess(self):
         with connection() as c:
             user = c.get_user(
-                username = settings.LDAP_AUTH_TEST_USER_USERNAME,
+                username=settings.LDAP_AUTH_TEST_USER_USERNAME,
             )
             self.assertIsInstance(user, User)
             self.assertEqual(user.username, settings.LDAP_AUTH_TEST_USER_USERNAME)
@@ -54,7 +54,7 @@ class TestLdap(TestCase):
     def testGetUserKwargsIncorrectUsername(self):
         with connection() as c:
             user = c.get_user(
-                username = "bad" + settings.LDAP_AUTH_TEST_USER_USERNAME,
+                username="bad" + settings.LDAP_AUTH_TEST_USER_USERNAME,
             )
             self.assertEqual(user, None)
 
@@ -62,34 +62,34 @@ class TestLdap(TestCase):
 
     def testAuthenticateUserSuccess(self):
         user = authenticate(
-            username = settings.LDAP_AUTH_TEST_USER_USERNAME,
-            password = settings.LDAP_AUTH_TEST_USER_PASSWORD,
+            username=settings.LDAP_AUTH_TEST_USER_USERNAME,
+            password=settings.LDAP_AUTH_TEST_USER_PASSWORD,
         )
         self.assertIsInstance(user, User)
         self.assertEqual(user.username, settings.LDAP_AUTH_TEST_USER_USERNAME)
 
     def testAuthenticateUserBadUsername(self):
         user = authenticate(
-            username = "bad" + settings.LDAP_AUTH_TEST_USER_USERNAME,
-            password = settings.LDAP_AUTH_TEST_USER_PASSWORD,
+            username="bad" + settings.LDAP_AUTH_TEST_USER_USERNAME,
+            password=settings.LDAP_AUTH_TEST_USER_PASSWORD,
         )
         self.assertEqual(user, None)
 
     def testAuthenticateUserBadPassword(self):
         user = authenticate(
-            username = settings.LDAP_AUTH_TEST_USER_USERNAME,
-            password = "bad" + settings.LDAP_AUTH_TEST_USER_PASSWORD,
+            username=settings.LDAP_AUTH_TEST_USER_USERNAME,
+            password="bad" + settings.LDAP_AUTH_TEST_USER_PASSWORD,
         )
         self.assertEqual(user, None)
 
     def testRepeatedUserAuthenticationDoestRecreateUsers(self):
         user_1 = authenticate(
-            username = settings.LDAP_AUTH_TEST_USER_USERNAME,
-            password = settings.LDAP_AUTH_TEST_USER_PASSWORD,
+            username=settings.LDAP_AUTH_TEST_USER_USERNAME,
+            password=settings.LDAP_AUTH_TEST_USER_PASSWORD,
         )
         user_2 = authenticate(
-            username = settings.LDAP_AUTH_TEST_USER_USERNAME,
-            password = settings.LDAP_AUTH_TEST_USER_PASSWORD,
+            username=settings.LDAP_AUTH_TEST_USER_USERNAME,
+            password=settings.LDAP_AUTH_TEST_USER_PASSWORD,
         )
         # Ensure that the user isn't recreated on second access.
         self.assertEqual(user_1.pk, user_2.pk)
@@ -97,8 +97,8 @@ class TestLdap(TestCase):
     def testAuthenticateWithTLS(self):
         with self.settings(LDAP_AUTH_USE_TLS=True):
             user = authenticate(
-                username = settings.LDAP_AUTH_TEST_USER_USERNAME,
-                password = settings.LDAP_AUTH_TEST_USER_PASSWORD,
+                username=settings.LDAP_AUTH_TEST_USER_USERNAME,
+                password=settings.LDAP_AUTH_TEST_USER_PASSWORD,
             )
             self.assertIsInstance(user, User)
             self.assertEqual(user.username, settings.LDAP_AUTH_TEST_USER_USERNAME)
@@ -128,7 +128,7 @@ class TestLdap(TestCase):
 
     def testPromoteUser(self):
         user = User.objects.create(
-            username = "test",
+            username="test",
         )
         self.assertFalse(user.is_staff)
         self.assertFalse(user.is_superuser)
@@ -139,7 +139,7 @@ class TestLdap(TestCase):
         self.assertTrue(user.is_superuser)
 
     def testPromoteMissingUser(self):
-        with self.assertRaises(CommandError, msg="User with username missing_user does not exist") as cm:
+        with self.assertRaises(CommandError, msg="User with username missing_user does not exist"):
             call_command("ldap_promote", "missing_user", verbosity=0)
 
     def testSyncUserRelations(self):
@@ -150,7 +150,6 @@ class TestLdap(TestCase):
             self.assertEqual(user.username, User.objects.get(pk=user.id).username)
             # save all groups
             self.assertIn('cn', data)
-            groups = list()
             ldap_groups = list(data.get('memberOf', ()))
             ldap_groups.append('default_group')
             for group in ldap_groups:
@@ -158,8 +157,8 @@ class TestLdap(TestCase):
 
         with self.settings(LDAP_AUTH_SYNC_USER_RELATIONS=check_sync_user_relation):
             user = authenticate(
-                username = settings.LDAP_AUTH_TEST_USER_USERNAME,
-                password = settings.LDAP_AUTH_TEST_USER_PASSWORD,
+                username=settings.LDAP_AUTH_TEST_USER_USERNAME,
+                password=settings.LDAP_AUTH_TEST_USER_PASSWORD,
             )
             self.assertIsInstance(user, User)
             self.assertGreaterEqual(user.groups.count(), 1)
diff --git a/django_python3_ldap/utils.py b/django_python3_ldap/utils.py
index 24029b6..0fc6b1a 100644
--- a/django_python3_ldap/utils.py
+++ b/django_python3_ldap/utils.py
@@ -2,8 +2,8 @@
 Some useful LDAP utilities.
 """
 
-import re, binascii
-
+import re
+import binascii
 from django.contrib.auth.hashers import make_password
 from django.utils.encoding import force_text
 from django.utils.module_loading import import_string
@@ -25,7 +25,11 @@ def clean_ldap_name(name):
     Transforms the given name into a form that
     won't interfere with LDAP queries.
     """
-    return re.sub(r'[^a-zA-Z0-9 _\-.@]', lambda c: "\\" + force_text(binascii.hexlify(c.group(0).encode("latin-1", errors="ignore"))).upper(), force_text(name))
+    return re.sub(
+        r'[^a-zA-Z0-9 _\-.@]',
+        lambda c: "\\" + force_text(binascii.hexlify(c.group(0).encode("latin-1", errors="ignore"))).upper(),
+        force_text(name),
+    )
 
 
 def convert_model_fields_to_ldap_fields(model_fields):
@@ -45,10 +49,10 @@ def format_search_filter(model_fields):
     Creates an LDAP search filter for the given set of model
     fields.
     """
-    ldap_fields = convert_model_fields_to_ldap_fields(model_fields);
+    ldap_fields = convert_model_fields_to_ldap_fields(model_fields)
     ldap_fields["objectClass"] = settings.LDAP_AUTH_OBJECT_CLASS
     search_filters = import_func(settings.LDAP_AUTH_FORMAT_SEARCH_FILTERS)(ldap_fields)
-    return "(&{})".format("".join(search_filters));
+    return "(&{})".format("".join(search_filters))
 
 
 def clean_user_data(model_fields):
@@ -67,15 +71,15 @@ def format_username_openldap(model_fields):
     binding to an OpenLDAP server.
     """
     return "{user_identifier},{search_base}".format(
-        user_identifier = ",".join(
+        user_identifier=",".join(
             "{attribute_name}={field_value}".format(
-                attribute_name = clean_ldap_name(field_name),
-                field_value = clean_ldap_name(field_value),
+                attribute_name=clean_ldap_name(field_name),
+                field_value=clean_ldap_name(field_value),
             )
             for field_name, field_value
             in convert_model_fields_to_ldap_fields(model_fields).items()
         ),
-        search_base = settings.LDAP_AUTH_SEARCH_BASE,
+        search_base=settings.LDAP_AUTH_SEARCH_BASE,
     )
 
 
@@ -87,8 +91,8 @@ def format_username_active_directory(model_fields):
     username = model_fields["username"]
     if settings.LDAP_AUTH_ACTIVE_DIRECTORY_DOMAIN:
         username = "{domain}\\{username}".format(
-            domain = settings.LDAP_AUTH_ACTIVE_DIRECTORY_DOMAIN,
-            username = username,
+            domain=settings.LDAP_AUTH_ACTIVE_DIRECTORY_DOMAIN,
+            username=username,
         )
     return username
 
@@ -101,8 +105,8 @@ def sync_user_relations(user, ldap_attributes):
 def format_search_filters(ldap_fields):
     return [
         "({attribute_name}={field_value})".format(
-            attribute_name = clean_ldap_name(field_name),
-            field_value = clean_ldap_name(field_value),
+            attribute_name=clean_ldap_name(field_name),
+            field_value=clean_ldap_name(field_value),
         )
         for field_name, field_value
         in ldap_fields.items()
diff --git a/setup.py b/setup.py
index 6d2ac2f..df02bcd 100644
--- a/setup.py
+++ b/setup.py
@@ -7,19 +7,19 @@ version_str = ".".join(str(n) for n in __version__)
 
 
 setup(
-    name = "django-python3-ldap",
-    version = version_str,
-    license = "BSD",
-    description = "Django LDAP user authentication backend for Python 3.",
-    author = "Dave Hall",
-    author_email = "dave at etianen.com",
-    url = "https://github.com/etianen/django-python3-ldap",
-    packages = find_packages(),
-    install_requires = [
-        "django>=1.7",
-        "ldap3>=0.9.8.4,<=1.4.0,!=0.9.9.2",
+    name="django-python3-ldap",
+    version=version_str,
+    license="BSD",
+    description="Django LDAP user authentication backend for Python 3.",
+    author="Dave Hall",
+    author_email="dave at etianen.com",
+    url="https://github.com/etianen/django-python3-ldap",
+    packages=find_packages(),
+    install_requires=[
+        "django>=1.8",
+        "ldap3==2.2.0",
     ],
-    classifiers = [
+    classifiers=[
         "Development Status :: 4 - Beta",
         "Environment :: Web Environment",
         "Intended Audience :: Developers",

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/django-python3-ldap.git



More information about the Python-modules-commits mailing list