diff --git a/.pylint.rc b/.pylint.rc new file mode 100644 index 0000000..6f0c4f2 --- /dev/null +++ b/.pylint.rc @@ -0,0 +1,86 @@ +[MASTER] +profile=no +persistent=yes +ignore=migrations,south_migrations +cache-size=500 +load-plugins=pylint_django +extension-pkg-whitelist=gssapi.raw + +[MESSAGES CONTROL] +# C0111 Missing docstring +# I0011 Warning locally suppressed using disable-msg +# I0012 Warning locally suppressed using disable-msg +# W0704 Except doesn't do anything Used when an except clause does nothing but "pass" and there is no "else" clause +# W0142 Used * or * magic* Used when a function or method is called using *args or **kwargs to dispatch arguments. +# W0212 Access to a protected member %s of a client class +# W0232 Class has no __init__ method Used when a class has no __init__ method, neither its parent classes. +# W0613 Unused argument %r Used when a function or method argument is not used. +# W0702 No exception's type specified Used when an except clause doesn't specify exceptions type to catch. +# R0201 Method could be a function +disable=C0111,I0011,I0012,W0704,W0142,W0212,W0232,W0613,W0702,R0201,C0330,R0205 + +[REPORTS] +output-format=parseable +include-ids=yes + + +[BASIC] +no-docstring-rgx=__.*__|_.* +class-rgx=[A-Z_][a-zA-Z0-9_]+$ +function-rgx=[a-zA_][a-zA-Z0-9_]{2,70}$ +method-rgx=[a-z_][a-zA-Z0-9_]{2,70}$ +const-rgx=(([A-Z_][A-Z0-9_]*)|([a-z_][a-z0-9_]*)|(__.*__)|register|urlpatterns)$ +good-names=_,i,j,k,e,qs,pk,setUp,tearDown + +[TYPECHECK] + +# Tells whether missing members accessed in mixin class should be ignored. A +# mixin class is detected if its name ends with "mixin" (case insensitive). +ignore-mixin-members=yes + +# List of classes names for which member attributes should not be checked +# (useful for classes with attributes dynamically set). +ignored-classes=SQLObject,WSGIRequest + +# When zope mode is activated, add a predefined set of Zope acquired attributes +# to generated-members. +zope=no + +# List of members which are set dynamically and missed by pylint inference +# system, and so shouldn't trigger E0201 when accessed. +generated-members=objects,DoesNotExist,id,pk,_meta,base_fields,context + +# List of method names used to declare (i.e. assign) instance attributes +defining-attr-methods=__init__,__new__,setUp + + +[VARIABLES] +init-import=no +dummy-variables-rgx=_|dummy + +[SIMILARITIES] +min-similarity-lines=6 +ignore-comments=yes +ignore-docstrings=yes + + +[MISCELLANEOUS] +notes=FIXME,XXX,TODO + + +[FORMAT] +max-line-length=160 +max-module-lines=500 +indent-string=' ' + + +[DESIGN] +max-args=10 +max-locals=15 +max-returns=6 +max-branchs=12 +max-statements=50 +max-parents=14 +max-attributes=7 +min-public-methods=0 +max-public-methods=50 diff --git a/pylint.sh b/pylint.sh index d7295cc..542a38d 100755 --- a/pylint.sh +++ b/pylint.sh @@ -1,11 +1,10 @@ #!/bin/sh -set -e -x -env -if [ -f /var/lib/jenkins/pylint.django.rc ]; then +set -e +if [ -f ./.pylint.rc ]; then + PYLINT_RC=./.pylint.rc +elif [ -f /var/lib/jenkins/pylint.django.rc ]; then PYLINT_RC=/var/lib/jenkins/pylint.django.rc -elif [ -f pylint.django.rc ]; then - PYLINT_RC=pylint.django.rc else echo No pylint RC found exit 0 diff --git a/src/django_gssapi/backends.py b/src/django_gssapi/backends.py index 9432ef4..b8dff0b 100644 --- a/src/django_gssapi/backends.py +++ b/src/django_gssapi/backends.py @@ -34,6 +34,7 @@ logger = logging.getLogger('django_gssapi') class GSSAPIBackend(object): def authenticate(self, request, gssapi_name): warnings.warn('example backend do not use in production!') + # pylint: disable=invalid-name User = get_user_model() try: user = User.objects.get(username=str(gssapi_name)) @@ -52,6 +53,7 @@ class KerberosPasswordBackend(object): '''Verify username and password using Kerberos''' warnings.warn('Kerberos: example backend do not use in production!') + # pylint: disable=invalid-name User = get_user_model() if username is None: diff --git a/src/django_gssapi/utils.py b/src/django_gssapi/utils.py index daf77a1..6a990d1 100644 --- a/src/django_gssapi/utils.py +++ b/src/django_gssapi/utils.py @@ -30,6 +30,7 @@ logger = logging.getLogger('django_kerberos') class NegotiateContinue(Exception): def __init__(self, token): + super(NegotiateContinue, self).__init__() self.token = token diff --git a/src/django_gssapi/views.py b/src/django_gssapi/views.py index 1bf33a7..f19741c 100644 --- a/src/django_gssapi/views.py +++ b/src/django_gssapi/views.py @@ -16,7 +16,6 @@ from __future__ import unicode_literals -import base64 import logging from django import http @@ -24,7 +23,7 @@ from django.conf import settings from django.utils.http import is_safe_url from django.views.generic.base import View -from django.contrib.auth import authenticate, login as auth_login, REDIRECT_FIELD_NAME +from django.contrib.auth import login as auth_login, REDIRECT_FIELD_NAME from . import utils