diff --git a/.buildbot/test/01-requirements.sh b/.buildbot/test/01-requirements.sh index 0704da7..c1beb58 100644 --- a/.buildbot/test/01-requirements.sh +++ b/.buildbot/test/01-requirements.sh @@ -3,3 +3,8 @@ if test "$python_major_version" = "2" ; then pip install 'django<2' fi pip install -r requirements.txt +if test "$python_major_version" = "2" ; then + pip install 'pylint-django<2' +else + pip install pylint-django +fi diff --git a/.buildbot/test/70-pylint.sh b/.buildbot/test/70-pylint.sh new file mode 100644 index 0000000..4d04efd --- /dev/null +++ b/.buildbot/test/70-pylint.sh @@ -0,0 +1 @@ +pylint apps.base diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000..bfd1a4a --- /dev/null +++ b/.pylintrc @@ -0,0 +1,27 @@ +[MASTER] + +persistent=no +#load-plugins=pylint_django + + +[MESSAGES CONTROL] + +disable=missing-docstring, + missing-module-docstring, + missing-class-docstring, + missing-function-docstring, + useless-object-inheritance, + +[BASIC] + +good-names=_, + c, + d, + e, + i, + j, + k, + +[FORMAT] + +max-line-length=120 diff --git a/apps/base/tests/test_templates.py b/apps/base/tests/test_templates.py index 6e38dbf..55c572f 100644 --- a/apps/base/tests/test_templates.py +++ b/apps/base/tests/test_templates.py @@ -6,7 +6,7 @@ from django.test import SimpleTestCase class BaseTemplateTestCase(SimpleTestCase): - def assertInHTML_multi(self, response, needles, format_kwargs=None): + def assertInHTMLMulti(self, response, needles, format_kwargs=None): # pylint: disable=invalid-name content = response.content.decode('utf-8') for needle in needles: if format_kwargs is not None: @@ -35,7 +35,7 @@ class BaseTemplateTestCase(SimpleTestCase): '', ) - self.assertInHTML_multi(response, needles, format_kwargs) + self.assertInHTMLMulti(response, needles, format_kwargs) def test_bootstrap_css_links(self): response = self.response @@ -55,7 +55,7 @@ class BaseTemplateTestCase(SimpleTestCase): '', ) - self.assertInHTML_multi(response, needles, format_kwargs) + self.assertInHTMLMulti(response, needles, format_kwargs) def test_page_footer(self): response = self.response diff --git a/apps/base/tests/test_views.py b/apps/base/tests/test_views.py index dc582ff..ed5a682 100644 --- a/apps/base/tests/test_views.py +++ b/apps/base/tests/test_views.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals import datetime -import mock import re import socket import unittest +import mock from django.test import SimpleTestCase from ..views import RootView @@ -39,20 +39,20 @@ class RootUnitTestCase(unittest.TestCase): expected_color_hex = default_color_hex with mock.patch('socket.gethostname', return_value=hostname): - v = RootView() + view = RootView() if 'kwargs' in test_data: - c = v.get_context_data(**test_data['kwargs']) + ctx = view.get_context_data(**test_data['kwargs']) else: - c = v.get_context_data() + ctx = view.get_context_data() - self.assertIsInstance(c, dict) - self.assertIn('hostname', c) - self.assertEqual(c['hostname'], hostname) - self.assertIn('color_hex', c) - self.assertTrue(re.match('[0-9a-f]{6}', c['color_hex'])) - self.assertEqual(c['color_hex'], expected_color_hex) - self.assertIn('time', c) - self.assertIsInstance(c['time'], datetime.datetime) + self.assertIsInstance(ctx, dict) + self.assertIn('hostname', ctx) + self.assertEqual(ctx['hostname'], hostname) + self.assertIn('color_hex', ctx) + self.assertTrue(re.match('[0-9a-f]{6}', ctx['color_hex'])) + self.assertEqual(ctx['color_hex'], expected_color_hex) + self.assertIn('time', ctx) + self.assertIsInstance(ctx['time'], datetime.datetime) class DjangoAdminDjangoTestCase(SimpleTestCase): @@ -80,5 +80,3 @@ class RootDjangoTestCase(SimpleTestCase): response = self.client.get('/') hostname = socket.gethostname().capitalize() self.assertContains(response, hostname) - - diff --git a/apps/base/tests/utils.py b/apps/base/tests/utils.py index cd8727b..7464a0f 100644 --- a/apps/base/tests/utils.py +++ b/apps/base/tests/utils.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +# pylint: skip-file from __future__ import unicode_literals import os from tempfile import mkdtemp as _mkdtmp diff --git a/apps/base/urls.py b/apps/base/urls.py index 4a69660..9276107 100644 --- a/apps/base/urls.py +++ b/apps/base/urls.py @@ -5,7 +5,7 @@ from django.conf.urls import url from . import views -urlpatterns = [ +urlpatterns = [ # pylint: disable=invalid-name url(r'^$', views.RootView.as_view(), name='root'), url(r'^djangoadmin/', admin.site.urls), ] diff --git a/bin/coverage-html.py b/bin/coverage-html.py index 2750291..a7feee4 100755 --- a/bin/coverage-html.py +++ b/bin/coverage-html.py @@ -2,14 +2,14 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals import argparse -import coverage import datetime import os import shutil import sys +import coverage -class Command(object): +class Command(object): # pylint: disable=too-few-public-methods default_browser = 'firefox' @staticmethod @@ -64,9 +64,9 @@ class Command(object): sys.stdout.write('Report directory: {}\n'.format(report_dir)) try: self._create_report(report_dir) - except Exception as e1: + except Exception as e: self._remove_report_directory(report_dir) - raise e1 + raise e exitval = self._show_report(report_dir) return exitval diff --git a/setup.py b/setup.py index 878f559..3c0c190 100644 --- a/setup.py +++ b/setup.py @@ -110,6 +110,8 @@ class SetupDjangoProject(MyCommand): if not os.path.exists(d): os.makedirs(d) + return os.EX_OK + setup( name='django-test',