From d9d88172f849a163ea258e51dbeb516e7e101fe4 Mon Sep 17 00:00:00 2001
From: nd <git@notandy.de>
Date: Thu, 16 Jul 2020 19:14:57 +0200
Subject: [PATCH] fix all pylint warnings

---
 .pylintrc                  |  5 +++--
 uffd/__init__.py           |  2 +-
 uffd/ldap/ldap.py          |  8 +++-----
 uffd/selfservice/models.py |  2 +-
 uffd/selfservice/views.py  | 33 ++++++++++++++++-----------------
 uffd/session/views.py      |  5 +----
 uffd/user/models.py        |  2 +-
 uffd/user/views.py         |  8 ++++----
 8 files changed, 30 insertions(+), 35 deletions(-)

diff --git a/.pylintrc b/.pylintrc
index 6a126ef6..9ee4f548 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -143,8 +143,9 @@ disable=missing-module-docstring,
         deprecated-sys-function,
         exception-escape,
         comprehension-escape,
-	too-few-public-methods,
-	method-hidden
+        too-few-public-methods,
+        method-hidden,
+        bad-continuation,
 
 # Enable the message, report, category or checker with the given id(s). You can
 # either give multiple identifier separated by comma (,) or put this option
diff --git a/uffd/__init__.py b/uffd/__init__.py
index 0f071fb9..7dfe0dcf 100644
--- a/uffd/__init__.py
+++ b/uffd/__init__.py
@@ -48,7 +48,7 @@ def create_app(test_config=None):
 		app.register_blueprint(i)
 
 	@app.route("/")
-	def index():
+	def index(): #pylint: disable=unused-variable
 		return redirect(url_for('selfservice.self_index'))
 
 	return app
diff --git a/uffd/ldap/ldap.py b/uffd/ldap/ldap.py
index 341e410c..e1ddaf19 100644
--- a/uffd/ldap/ldap.py
+++ b/uffd/ldap/ldap.py
@@ -1,4 +1,4 @@
-from flask import Blueprint, request, session, current_app
+from flask import Blueprint, current_app
 from ldap3.utils.conv import escape_filter_chars
 from ldap3.utils.dn import escape_rdn
 from ldap3.core.exceptions import LDAPBindError
@@ -35,8 +35,7 @@ def uid_to_dn(uid):
 	conn.search(current_app.config["LDAP_BASE_USER"], '(&(objectclass=person)(uidNumber={}))'.format(escape_filter_chars(uid)))
 	if not len(conn.entries) == 1:
 		return None
-	else:
-		return conn.entries[0].entry_dn
+	return conn.entries[0].entry_dn
 
 def loginname_to_dn(loginname):
 	return 'uid={},{}'.format(escape_rdn(loginname), current_app.config["LDAP_BASE_USER"])
@@ -55,5 +54,4 @@ def get_next_uid():
 	next_uid = max_uid + 1
 	if uid_to_dn(next_uid):
 		raise Exception('No free uid found')
-	else:
-		return next_uid
+	return next_uid
diff --git a/uffd/selfservice/models.py b/uffd/selfservice/models.py
index db19c520..505c7f98 100644
--- a/uffd/selfservice/models.py
+++ b/uffd/selfservice/models.py
@@ -1,7 +1,7 @@
 import datetime
 import secrets
 
-from sqlalchemy import Column, Integer, String, Text, LargeBinary, DateTime, Boolean, ForeignKey
+from sqlalchemy import Column, String, DateTime
 
 from uffd.database import db
 
diff --git a/uffd/selfservice/views.py b/uffd/selfservice/views.py
index 04908696..0ef6f8a0 100644
--- a/uffd/selfservice/views.py
+++ b/uffd/selfservice/views.py
@@ -7,9 +7,9 @@ from flask import Blueprint, render_template, request, url_for, redirect, flash,
 
 from uffd.navbar import register_navbar
 from uffd.csrf import csrf_protect
-from uffd.user.models import User, Group
+from uffd.user.models import User
 from uffd.session import get_current_user, login_required, is_valid_session
-from uffd.ldap import get_conn, escape_filter_chars, loginname_to_dn
+from uffd.ldap import loginname_to_dn
 from uffd.selfservice.models import PasswordToken, MailToken
 from uffd.database import db
 
@@ -72,22 +72,21 @@ def self_token_password(token):
 	if not 'loginname' in request.values:
 		flash('Please set a new password.')
 		return render_template('set_password.html', token=token)
-	else:
-		if not request.values['loginname'] == dbtoken.loginname:
-			flash('That is not the correct login name for this token. Your token is now invalide. Please start the password reset process again')
-			session.delete(dbtoken)
-			session.commit()
-			return redirect(url_for('session.login'))
-		if not request.values['password1']:
-			flash('Please specify a new password.')
-			return render_template('set_password.html', token=token)
-		user = User.from_ldap_dn(loginname_to_dn(dbtoken.loginname))
-		user.set_password(request.values['password1'])
-		user.to_ldap()
-		flash('New password set')
+	if not request.values['loginname'] == dbtoken.loginname:
+		flash('That is not the correct login name for this token. Your token is now invalide. Please start the password reset process again')
 		session.delete(dbtoken)
 		session.commit()
 		return redirect(url_for('session.login'))
+	if not request.values['password1']:
+		flash('Please specify a new password.')
+		return render_template('set_password.html', token=token)
+	user = User.from_ldap_dn(loginname_to_dn(dbtoken.loginname))
+	user.set_password(request.values['password1'])
+	user.to_ldap()
+	flash('New password set')
+	session.delete(dbtoken)
+	session.commit()
+	return redirect(url_for('session.login'))
 
 @bp.route("/token/mail_verification/<token>")
 @login_required()
@@ -144,12 +143,12 @@ def send_passwordreset(loginname):
 	msg['Subject'] = 'Password reset'
 	send_mail(user.mail, msg)
 
-def send_mail(to, msg):
+def send_mail(to_address, msg):
 	server = smtplib.SMTP(host=current_app.config['MAIL_SERVER'], port=current_app.config['MAIL_PORT'])
 	if current_app.config['MAIL_USE_STARTTLS']:
 		server.starttls()
 	server.login(current_app.config['MAIL_USERNAME'], current_app.config['MAIL_PASSWORD'])
 	msg['From'] = current_app.config['MAIL_FROM_ADDRESS']
-	msg['To'] = to
+	msg['To'] = to_address
 	server.send_message(msg)
 	server.quit()
diff --git a/uffd/session/views.py b/uffd/session/views.py
index d0a06fdd..ba20dc74 100644
--- a/uffd/session/views.py
+++ b/uffd/session/views.py
@@ -1,14 +1,11 @@
 import datetime
 import secrets
-import string
 import functools
 
 from flask import Blueprint, render_template, request, url_for, redirect, flash, current_app, session
 
-from uffd.navbar import register_navbar
-from uffd.csrf import csrf_protect
 from uffd.user.models import User
-from uffd.ldap import get_conn, user_conn, uid_to_dn
+from uffd.ldap import user_conn, uid_to_dn
 
 bp = Blueprint("session", __name__, template_folder='templates', url_prefix='/')
 
diff --git a/uffd/user/models.py b/uffd/user/models.py
index f00dffaa..a906fe2b 100644
--- a/uffd/user/models.py
+++ b/uffd/user/models.py
@@ -44,7 +44,7 @@ class User():
 	def to_ldap(self, new=False):
 		conn = ldap.get_conn()
 		if new:
-			attributes= {
+			attributes = {
 				'uidNumber': ldap.get_next_uid(),
 				'gidNumber': current_app.config['LDAP_USER_GID'],
 				'homeDirectory': '/home/'+self.loginname,
diff --git a/uffd/user/views.py b/uffd/user/views.py
index 8421e59f..4906cdbb 100644
--- a/uffd/user/views.py
+++ b/uffd/user/views.py
@@ -10,7 +10,7 @@ from .models import User, Group
 bp_user = Blueprint("user", __name__, template_folder='templates', url_prefix='/user/')
 @bp_user.before_request
 @login_required()
-def user_acl():
+def user_acl(): #pylint: disable=inconsistent-return-statements
 	if not user_acl_check():
 		flash('Access denied')
 		return redirect(url_for('index'))
@@ -56,11 +56,11 @@ def user_update(uid=False):
 		user = User()
 		if not user.set_loginname(request.form['loginname']):
 			flash('Login name does not meet requirements')
-			return(url_for('.user_show'))
+			return url_for('.user_show')
 	user.mail = request.form['mail']
 	if not user.set_displayname(request.form['displayname']):
 		flash('Display name does not meet requirements')
-		return(url_for('.user_show'))
+		return url_for('.user_show')
 	new_password = request.form.get('password')
 	if new_password:
 		user.set_password(new_password)
@@ -85,7 +85,7 @@ def user_delete(uid):
 bp_group = Blueprint("group", __name__, template_folder='templates', url_prefix='/group/')
 @bp_group.before_request
 @login_required()
-def group_acl():
+def group_acl(): #pylint: disable=inconsistent-return-statements
 	if not user_acl_check():
 		flash('Access denied')
 		return redirect(url_for('index'))
-- 
GitLab