pylint stuff #7

Manually merged
heinzel merged 4 commits from heinzel into master 2019-10-24 17:33:58 +02:00
9 changed files with 56 additions and 22 deletions

View File

@@ -3,3 +3,8 @@ if test "$python_major_version" = "2" ; then
pip install 'django<2' pip install 'django<2'
fi fi
pip install -r requirements.txt pip install -r requirements.txt
if test "$python_major_version" = "2" ; then
pip install 'pylint-django<2'
else
pip install pylint-django
fi

View File

@@ -0,0 +1 @@
pylint apps.base

27
.pylintrc Normal file
View File

@@ -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

View File

@@ -6,7 +6,7 @@ from django.test import SimpleTestCase
class BaseTemplateTestCase(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') content = response.content.decode('utf-8')
for needle in needles: for needle in needles:
if format_kwargs is not None: if format_kwargs is not None:
@@ -35,7 +35,7 @@ class BaseTemplateTestCase(SimpleTestCase):
'<link type="text/css" href="{static_url}{base_prefix}css/local.css" rel="stylesheet" />', '<link type="text/css" href="{static_url}{base_prefix}css/local.css" rel="stylesheet" />',
) )
self.assertInHTML_multi(response, needles, format_kwargs) self.assertInHTMLMulti(response, needles, format_kwargs)
def test_bootstrap_css_links(self): def test_bootstrap_css_links(self):
response = self.response response = self.response
@@ -55,7 +55,7 @@ class BaseTemplateTestCase(SimpleTestCase):
'<script type="text/javascript" src="{static_url}{base_prefix}bootstrap/js/bootstrap.min.js"></script>', '<script type="text/javascript" src="{static_url}{base_prefix}bootstrap/js/bootstrap.min.js"></script>',
) )
self.assertInHTML_multi(response, needles, format_kwargs) self.assertInHTMLMulti(response, needles, format_kwargs)
def test_page_footer(self): def test_page_footer(self):
response = self.response response = self.response

View File

@@ -1,10 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import unicode_literals from __future__ import unicode_literals
import datetime import datetime
import mock
import re import re
import socket import socket
import unittest import unittest
import mock
from django.test import SimpleTestCase from django.test import SimpleTestCase
from ..views import RootView from ..views import RootView
@@ -39,20 +39,20 @@ class RootUnitTestCase(unittest.TestCase):
expected_color_hex = default_color_hex expected_color_hex = default_color_hex
with mock.patch('socket.gethostname', return_value=hostname): with mock.patch('socket.gethostname', return_value=hostname):
v = RootView() view = RootView()
if 'kwargs' in test_data: if 'kwargs' in test_data:
c = v.get_context_data(**test_data['kwargs']) ctx = view.get_context_data(**test_data['kwargs'])
else: else:
c = v.get_context_data() ctx = view.get_context_data()
self.assertIsInstance(c, dict) self.assertIsInstance(ctx, dict)
self.assertIn('hostname', c) self.assertIn('hostname', ctx)
self.assertEqual(c['hostname'], hostname) self.assertEqual(ctx['hostname'], hostname)
self.assertIn('color_hex', c) self.assertIn('color_hex', ctx)
self.assertTrue(re.match('[0-9a-f]{6}', c['color_hex'])) self.assertTrue(re.match('[0-9a-f]{6}', ctx['color_hex']))
self.assertEqual(c['color_hex'], expected_color_hex) self.assertEqual(ctx['color_hex'], expected_color_hex)
self.assertIn('time', c) self.assertIn('time', ctx)
self.assertIsInstance(c['time'], datetime.datetime) self.assertIsInstance(ctx['time'], datetime.datetime)
class DjangoAdminDjangoTestCase(SimpleTestCase): class DjangoAdminDjangoTestCase(SimpleTestCase):
@@ -80,5 +80,3 @@ class RootDjangoTestCase(SimpleTestCase):
response = self.client.get('/') response = self.client.get('/')
hostname = socket.gethostname().capitalize() hostname = socket.gethostname().capitalize()
self.assertContains(response, hostname) self.assertContains(response, hostname)

View File

@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# pylint: skip-file
from __future__ import unicode_literals from __future__ import unicode_literals
import os import os
from tempfile import mkdtemp as _mkdtmp from tempfile import mkdtemp as _mkdtmp

View File

@@ -5,7 +5,7 @@ from django.conf.urls import url
from . import views from . import views
urlpatterns = [ urlpatterns = [ # pylint: disable=invalid-name
url(r'^$', views.RootView.as_view(), name='root'), url(r'^$', views.RootView.as_view(), name='root'),
url(r'^djangoadmin/', admin.site.urls), url(r'^djangoadmin/', admin.site.urls),
] ]

View File

@@ -2,14 +2,14 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import unicode_literals from __future__ import unicode_literals
import argparse import argparse
import coverage
import datetime import datetime
import os import os
import shutil import shutil
import sys import sys
import coverage
class Command(object): class Command(object): # pylint: disable=too-few-public-methods
default_browser = 'firefox' default_browser = 'firefox'
@staticmethod @staticmethod
@@ -64,9 +64,9 @@ class Command(object):
sys.stdout.write('Report directory: {}\n'.format(report_dir)) sys.stdout.write('Report directory: {}\n'.format(report_dir))
try: try:
self._create_report(report_dir) self._create_report(report_dir)
except Exception as e1: except Exception as e:
self._remove_report_directory(report_dir) self._remove_report_directory(report_dir)
raise e1 raise e
exitval = self._show_report(report_dir) exitval = self._show_report(report_dir)
return exitval return exitval

View File

@@ -110,6 +110,8 @@ class SetupDjangoProject(MyCommand):
if not os.path.exists(d): if not os.path.exists(d):
os.makedirs(d) os.makedirs(d)
return os.EX_OK
setup( setup(
name='django-test', name='django-test',