From 5d63c4fee9bad426299a065c323746411e9ce9dc Mon Sep 17 00:00:00 2001
From: Julian Rother <julianr@fsmpi.rwth-aachen.de>
Date: Fri, 19 Feb 2021 18:18:18 +0100
Subject: [PATCH] Fixed linter errors

---
 uffd/ldap.py             | 11 +++++------
 uffd/mail/views.py       |  1 -
 uffd/mfa/views.py        |  2 +-
 uffd/role/utils.py       |  1 +
 uffd/session/views.py    |  2 +-
 uffd/user/models.py      |  2 ++
 uffd/user/views_group.py |  1 -
 uffd/user/views_user.py  |  6 +++---
 8 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/uffd/ldap.py b/uffd/ldap.py
index d4bc071e..c09103b5 100644
--- a/uffd/ldap.py
+++ b/uffd/ldap.py
@@ -4,8 +4,8 @@ from collections.abc import MutableSet
 from flask import current_app, request
 
 from ldap3.utils.conv import escape_filter_chars
-from ldap3.core.exceptions import LDAPBindError, LDAPCursorError, LDAPPasswordIsMandatoryError
-from ldap3 import MODIFY_REPLACE, MODIFY_DELETE, MODIFY_ADD, HASHED_SALTED_SHA512
+from ldap3.core.exceptions import LDAPBindError, LDAPPasswordIsMandatoryError
+from ldap3 import MODIFY_REPLACE, MODIFY_DELETE, MODIFY_ADD
 
 from ldap3 import Server, Connection, ALL, ALL_ATTRIBUTES, ALL_OPERATIONAL_ATTRIBUTES, MOCK_SYNC
 
@@ -95,7 +95,7 @@ class LDAPSession:
 		if obj.dn in self.__objects:
 			del self.__objects[obj.dn]
 		self.__to_delete.append(obj)
-		
+
 	def commit(self):
 		while self.__to_delete:
 			self.__to_delete.pop(0).ldap_delete()
@@ -134,7 +134,7 @@ class LDAPSet(MutableSet):
 
 	def __contains__(self, value):
 		return value is not None and self.__encode(value) in self.__getitems()
-	
+
 	def __iter__(self):
 		return iter(filter(lambda obj: obj is not None, map(self.__decode, self.__getitems())))
 
@@ -214,8 +214,7 @@ class LDAPBackref:
 
 class LDAPRelation(LDAPAttribute):
 	def __init__(self, name, dest, backref=None):
-		super().__init__(name, multi=True, encode=lambda value: value.dn,
-		                 decode=lambda value: dest.ldap_get(value))
+		super().__init__(name, multi=True, encode=lambda value: value.dn, decode=dest.ldap_get)
 		self.name = name
 		self.dest = dest
 		self.backref = backref
diff --git a/uffd/mail/views.py b/uffd/mail/views.py
index 7791686c..db401a3a 100644
--- a/uffd/mail/views.py
+++ b/uffd/mail/views.py
@@ -4,7 +4,6 @@ from uffd.navbar import register_navbar
 from uffd.csrf import csrf_protect
 from uffd.ldap import ldap
 from uffd.session import login_required, is_valid_session, get_current_user
-from uffd.user.models import Group
 
 from uffd.mail.models import Mail
 
diff --git a/uffd/mfa/views.py b/uffd/mfa/views.py
index 1e6d45ca..50b6ebce 100644
--- a/uffd/mfa/views.py
+++ b/uffd/mfa/views.py
@@ -6,7 +6,7 @@ from flask import Blueprint, render_template, session, request, redirect, url_fo
 from uffd.database import db
 from uffd.mfa.models import MFAMethod, TOTPMethod, WebauthnMethod, RecoveryCodeMethod
 from uffd.session.views import get_current_user, login_required, pre_mfa_login_required
-from uffd.user.models import User, Group
+from uffd.user.models import User
 from uffd.csrf import csrf_protect
 from uffd.ratelimit import Ratelimit, format_delay
 
diff --git a/uffd/role/utils.py b/uffd/role/utils.py
index b9ab08b8..de55f1ab 100644
--- a/uffd/role/utils.py
+++ b/uffd/role/utils.py
@@ -1,3 +1,4 @@
+from uffd.user.models import Group
 from uffd.role.models import Role
 
 def recalculate_user_groups(user):
diff --git a/uffd/session/views.py b/uffd/session/views.py
index ac6f7497..e9b28992 100644
--- a/uffd/session/views.py
+++ b/uffd/session/views.py
@@ -4,7 +4,7 @@ import functools
 
 from flask import Blueprint, render_template, request, url_for, redirect, flash, current_app, session, abort
 
-from uffd.user.models import User, Group
+from uffd.user.models import User
 from uffd.ldap import user_conn
 from uffd.ratelimit import Ratelimit, host_ratelimit, format_delay
 
diff --git a/uffd/user/models.py b/uffd/user/models.py
index a56e687a..0dba9a71 100644
--- a/uffd/user/models.py
+++ b/uffd/user/models.py
@@ -29,6 +29,8 @@ class User(LDAPModel):
 	mail = LDAPAttribute('mail')
 	pwhash = LDAPAttribute('userPassword', default=lambda: hashed(HASHED_SALTED_SHA512, secrets.token_hex(128)))
 
+	groups = [] # Shut up pylint, overwritten by LDAPBackref
+
 	def dummy_attribute_defaults(self):
 		if self.ldap_getattr('sn') == []:
 			self.ldap_setattr('sn', [' '])
diff --git a/uffd/user/views_group.py b/uffd/user/views_group.py
index 140384f6..3fb1b65f 100644
--- a/uffd/user/views_group.py
+++ b/uffd/user/views_group.py
@@ -1,7 +1,6 @@
 from flask import Blueprint, render_template, url_for, redirect, flash, current_app
 
 from uffd.navbar import register_navbar
-from uffd.ldap import get_conn, escape_filter_chars
 from uffd.session import login_required, is_valid_session, get_current_user
 
 from .models import Group
diff --git a/uffd/user/views_user.py b/uffd/user/views_user.py
index bc073310..a293d554 100644
--- a/uffd/user/views_user.py
+++ b/uffd/user/views_user.py
@@ -10,9 +10,9 @@ from uffd.session import login_required, is_valid_session, get_current_user
 from uffd.role.models import Role
 from uffd.role.utils import recalculate_user_groups
 from uffd.database import db
-from uffd.ldap import ldap
+from uffd.ldap import ldap, LDAPCommitError
 
-from .models import User, Group
+from .models import User
 
 bp = Blueprint("user", __name__, template_folder='templates', url_prefix='/user/')
 @bp.before_request
@@ -123,7 +123,7 @@ def csvimport():
 			try:
 				ldap.session.commit()
 				db.session.commit()
-			except: # TODO
+			except LDAPCommitError:
 				flash('Error adding user {}'.format(row[0]))
 				ldap.session.rollback()
 				db.session.rollback()
-- 
GitLab