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