Просмотр исходного кода

#591: misago.acl is now passing pylint

Rafał Pitoń 9 лет назад
Родитель
Сommit
6dfb9f7549

+ 1 - 1
.pylintrc

@@ -1,4 +1,4 @@
 [Basic]
-disable=abstract-method,cyclic-import,duplicate-code,invalid-name,missing-docstring,no-member,no-self-use,old-style-class,super-on-old-class,unused-argument
+disable=abstract-method,cyclic-import,duplicate-code,file-ignored,invalid-name,locally-disabled,missing-docstring,no-init,no-member,no-self-use,old-style-class,super-on-old-class,too-few-public-methods,too-many-ancestors,unused-argument
 max-line-length=120
 max-locals=20

+ 1 - 1
misago/acl/__init__.py

@@ -1,4 +1,4 @@
-from misago.acl.api import *  # noqa
+from misago.acl.api import get_user_acl, add_acl, serialize_acl
 
 
 default_app_config = 'misago.acl.apps.MisagoACLsConfig'

+ 2 - 1
misago/acl/admin.py

@@ -11,7 +11,8 @@ class MisagoAdminExtension(object):
 
         # Roles
         urlpatterns.namespace(r'^users/', 'users', 'permissions')
-        urlpatterns.patterns('permissions:users',
+        urlpatterns.patterns(
+            'permissions:users',
             url(r'^$', RolesList.as_view(), name='index'),
             url(r'^new/$', NewRole.as_view(), name='new'),
             url(r'^edit/(?P<pk>\d+)/$', EditRole.as_view(), name='edit'),

+ 10 - 15
misago/acl/api.py

@@ -1,3 +1,13 @@
+"""
+Module functions for ACLs
+
+Workflow for ACLs in Misago is simple:
+
+First, you get user ACL. Its directory that you can introspect to find out user
+permissions, or if you have objects, you can use this acl to make those objects
+aware of their ACLs. This gives objects themselves special "acl" attribute with
+properties defined by ACL providers within their "add_acl_to_target"
+"""
 import copy
 
 from django.contrib.auth import get_user_model
@@ -10,21 +20,6 @@ from misago.acl.builder import build_acl
 from misago.acl.providers import providers
 
 
-__ALL__ = ['get_user_acl', 'add_acl', 'serialize_acl']
-
-
-"""
-Module functions for ACLS
-
-Workflow for ACLs in Misago is simple:
-
-First, you get user ACL. Its directory that you can introspect to find out user
-permissions, or if you have objects, you can use this acl to make those objects
-aware of their ACLs. This gives objects themselves special "acl" attribute with
-properties defined by ACL providers within their "add_acl_to_target"
-"""
-
-
 def get_user_acl(user):
     """
     Get ACL for User

+ 7 - 5
misago/acl/forms.py

@@ -20,7 +20,7 @@ def get_permissions_forms(role, data=None):
     """
     role_permissions = role.permissions
 
-    forms = []
+    perms_forms = []
     for extension, module in providers.list():
         try:
             module.change_permissions_form
@@ -33,9 +33,11 @@ def get_permissions_forms(role, data=None):
 
         if FormType:
             if data:
-                forms.append(FormType(data, prefix=extension))
+                perms_forms.append(FormType(data, prefix=extension))
             else:
-                forms.append(FormType(initial=role_permissions.get(extension),
-                                      prefix=extension))
+                perms_forms.append(FormType(
+                    initial=role_permissions.get(extension),
+                    prefix=extension
+                ))
 
-    return forms
+    return perms_forms

+ 1 - 0
misago/acl/migrations/0002_acl_version_tracker.py

@@ -1,4 +1,5 @@
 # -*- coding: utf-8 -*-
+#pylint: skip-file
 from __future__ import unicode_literals
 
 from django.db import models, migrations

+ 21 - 11
misago/acl/migrations/0003_default_roles.py

@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
-from django.db import models, migrations
+from django.db import migrations
 from django.utils.translation import ugettext as _
 
 from misago.core import serializer
@@ -15,7 +15,8 @@ def create_default_roles(apps, schema_editor):
     Role = apps.get_model('misago_acl', 'Role')
 
     role = Role(name=_("Member"), special_role='authenticated')
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # account perms
             'misago.users.permissions.account': {
@@ -47,7 +48,8 @@ def create_default_roles(apps, schema_editor):
     role.save()
 
     role = Role(name=_("Guest"), special_role='anonymous')
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # account perms
             'misago.users.permissions.account': {
@@ -77,7 +79,8 @@ def create_default_roles(apps, schema_editor):
     role.save()
 
     role = Role(name=_("Moderator"))
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # account perms
             'misago.users.permissions.account': {
@@ -128,7 +131,8 @@ def create_default_roles(apps, schema_editor):
     role.save()
 
     role = Role(name=_("See warnings"))
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # warnings perms
             'misago.users.permissions.warnings': {
@@ -138,7 +142,8 @@ def create_default_roles(apps, schema_editor):
     role.save()
 
     role = Role(name=_("Renaming users"))
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # rename users perms
             'misago.users.permissions.moderation': {
@@ -148,7 +153,8 @@ def create_default_roles(apps, schema_editor):
     role.save()
 
     role = Role(name=_("Banning users"))
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # ban users perms
             'misago.users.permissions.profiles': {
@@ -165,7 +171,8 @@ def create_default_roles(apps, schema_editor):
     role.save()
 
     role = Role(name=_("Deleting users"))
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # delete users perms
             'misago.users.permissions.delete': {
@@ -176,7 +183,8 @@ def create_default_roles(apps, schema_editor):
     role.save()
 
     role = Role(name=_("Can't be blocked"))
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # profiles perms
             'misago.users.permissions.profiles': {
@@ -186,7 +194,8 @@ def create_default_roles(apps, schema_editor):
     role.save()
 
     role = Role(name=_("Private threads"))
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # private threads perms
             'misago.threads.permissions.privatethreads': {
@@ -201,7 +210,8 @@ def create_default_roles(apps, schema_editor):
     role.save()
 
     role = Role(name=_("Private threads moderator"))
-    pickle_permissions(role,
+    pickle_permissions(
+        role,
         {
             # private threads perms
             'misago.threads.permissions.privatethreads': {

+ 1 - 0
misago/acl/models.py

@@ -1,3 +1,4 @@
+# pylint: disable=attribute-defined-outside-init,pointless-string-statement
 from django.db import models
 from django.dispatch import receiver
 

+ 1 - 0
misago/acl/tests/test_providers.py

@@ -1,3 +1,4 @@
+# pylint: disable=protected-access
 from types import ModuleType
 
 from django.conf import settings

+ 21 - 32
misago/acl/tests/test_roleadmin_views.py

@@ -13,33 +13,27 @@ def fake_data(data_dict):
 class RoleAdminViewsTests(AdminTestCase):
     def test_link_registered(self):
         """admin nav contains user roles link"""
-        response = self.client.get(
-            reverse('misago:admin:permissions:users:index'))
-
-        self.assertIn(reverse('misago:admin:permissions:users:index'),
-                      response.content)
+        response = self.client.get(reverse('misago:admin:permissions:users:index'))
+        self.assertIn(reverse('misago:admin:permissions:users:index'), response.content)
 
     def test_list_view(self):
         """roles list view returns 200"""
-        response = self.client.get(
-            reverse('misago:admin:permissions:users:index'))
-
+        response = self.client.get(reverse('misago:admin:permissions:users:index'))
         self.assertEqual(response.status_code, 200)
 
     def test_new_view(self):
         """new role view has no showstoppers"""
-        response = self.client.get(
-            reverse('misago:admin:permissions:users:new'))
+        response = self.client.get(reverse('misago:admin:permissions:users:new'))
         self.assertEqual(response.status_code, 200)
 
         response = self.client.post(
             reverse('misago:admin:permissions:users:new'),
-            data=fake_data({'name': 'Test Role'}))
+            data=fake_data({'name': 'Test Role'})
+        )
         self.assertEqual(response.status_code, 302)
 
         test_role = Role.objects.get(name='Test Role')
-        response = self.client.get(
-            reverse('misago:admin:permissions:users:index'))
+        response = self.client.get(reverse('misago:admin:permissions:users:index'))
         self.assertEqual(response.status_code, 200)
         self.assertIn(test_role.name, response.content)
 
@@ -47,25 +41,23 @@ class RoleAdminViewsTests(AdminTestCase):
         """edit role view has no showstoppers"""
         self.client.post(
             reverse('misago:admin:permissions:users:new'),
-            data=fake_data({'name': 'Test Role'}))
+            data=fake_data({'name': 'Test Role'})
+        )
 
         test_role = Role.objects.get(name='Test Role')
 
-        response = self.client.get(
-            reverse('misago:admin:permissions:users:edit',
-                    kwargs={'pk': test_role.pk}))
+        response = self.client.get(reverse('misago:admin:permissions:users:edit', kwargs={'pk': test_role.pk}))
         self.assertEqual(response.status_code, 200)
         self.assertIn('Test Role', response.content)
 
         response = self.client.post(
-            reverse('misago:admin:permissions:users:edit',
-                    kwargs={'pk': test_role.pk}),
-            data=fake_data({'name': 'Top Lel'}))
+            reverse('misago:admin:permissions:users:edit', kwargs={'pk': test_role.pk}),
+            data=fake_data({'name': 'Top Lel'})
+        )
         self.assertEqual(response.status_code, 302)
 
         test_role = Role.objects.get(name='Top Lel')
-        response = self.client.get(
-            reverse('misago:admin:permissions:users:index'))
+        response = self.client.get(reverse('misago:admin:permissions:users:index'))
         self.assertEqual(response.status_code, 200)
         self.assertIn(test_role.name, response.content)
 
@@ -73,28 +65,25 @@ class RoleAdminViewsTests(AdminTestCase):
         """users with this role view has no showstoppers"""
         response = self.client.post(
             reverse('misago:admin:permissions:users:new'),
-            data=fake_data({'name': 'Test Role'}))
+            data=fake_data({'name': 'Test Role'})
+        )
         test_role = Role.objects.get(name='Test Role')
 
-        response = self.client.get(
-            reverse('misago:admin:permissions:users:users',
-                    kwargs={'pk': test_role.pk}))
+        response = self.client.get(reverse('misago:admin:permissions:users:users', kwargs={'pk': test_role.pk}))
         self.assertEqual(response.status_code, 302)
 
     def test_delete_view(self):
         """delete role view has no showstoppers"""
         self.client.post(
             reverse('misago:admin:permissions:users:new'),
-            data=fake_data({'name': 'Test Role'}))
+            data=fake_data({'name': 'Test Role'})
+        )
 
         test_role = Role.objects.get(name='Test Role')
-        response = self.client.post(
-            reverse('misago:admin:permissions:users:delete',
-                    kwargs={'pk': test_role.pk}))
+        response = self.client.post(reverse('misago:admin:permissions:users:delete', kwargs={'pk': test_role.pk}))
         self.assertEqual(response.status_code, 302)
 
         self.client.get(reverse('misago:admin:permissions:users:index'))
-        response = self.client.get(
-            reverse('misago:admin:permissions:users:index'))
+        response = self.client.get(reverse('misago:admin:permissions:users:index'))
         self.assertEqual(response.status_code, 200)
         self.assertTrue(test_role.name not in response.content)

+ 1 - 2
misago/acl/testutils.py

@@ -1,7 +1,6 @@
+# pylint: disable=protected-access
 from hashlib import md5
-
 from misago.core import threadstore
-
 from misago.acl.forms import get_permissions_forms