Rafał Pitoń 8 лет назад
Родитель
Сommit
742db39d54

+ 1 - 7
misago/datamover/attachments.py

@@ -17,13 +17,7 @@ IMAGE_TYPES = ('image/gif', 'image/jpeg', 'image/png', )
 
 
 def move_attachments(stdout, style):
-    query = '''
-        SELECT *
-        FROM
-            misago_attachment
-        ORDER BY
-            id
-    '''
+    query = 'SELECT * FROM misago_attachment ORDER BY id'
 
     posts = []
 

+ 1 - 1
misago/datamover/avatars.py

@@ -64,5 +64,5 @@ def convert_crop(image, user):
             'x': x * zoom * -1,
             'y': y * zoom * -1,
         },
-        'zoom': zoom
+        'zoom': zoom,
     }

+ 3 - 3
misago/datamover/bans.py

@@ -16,7 +16,7 @@ def move_bans():
                 banned_value=ban['ban'],
                 user_message=ban['reason_user'],
                 staff_message=ban['reason_admin'],
-                expires_on=localise_datetime(ban['expires'])
+                expires_on=localise_datetime(ban['expires']),
             )
         else:
             Ban.objects.create(
@@ -24,7 +24,7 @@ def move_bans():
                 banned_value=ban['ban'],
                 user_message=ban['reason_user'],
                 staff_message=ban['reason_admin'],
-                expires_on=localise_datetime(ban['expires'])
+                expires_on=localise_datetime(ban['expires']),
             )
 
             Ban.objects.create(
@@ -32,7 +32,7 @@ def move_bans():
                 banned_value=ban['ban'],
                 user_message=ban['reason_user'],
                 staff_message=ban['reason_admin'],
-                expires_on=localise_datetime(ban['expires'])
+                expires_on=localise_datetime(ban['expires']),
             )
 
     Ban.objects.invalidate_cache()

+ 5 - 3
misago/datamover/categories.py

@@ -38,7 +38,7 @@ def move_categories(stdout, style):
                 prune_replied_after=forum['prune_last'],
             ),
             parent,
-            save=True
+            save=True,
         )
 
         movedids.set('category', forum['id'], category.pk)
@@ -52,7 +52,7 @@ def move_categories(stdout, style):
         new_archive_pk = movedids.get('category', forum['pruned_archive_id'])
 
         Category.objects.filter(pk=new_category_pk).update(
-            archive_pruned_in=Category.objects.get(pk=new_archive_pk)
+            archive_pruned_in=Category.objects.get(pk=new_archive_pk),
         )
 
 
@@ -77,7 +77,9 @@ def move_labels():
                 Category(
                     name=label['name'],
                     slug=label['slug'],
-                ), parent, save=True
+                ),
+                parent,
+                save=True,
             )
 
             label_id = '%s-%s' % (label['id'], parent_row['forum_id'])

+ 1 - 1
misago/datamover/polls.py

@@ -27,7 +27,7 @@ def move_polls():
             choices.append({
                 'hash': get_random_string(12),
                 'label': choice['name'],
-                'votes': choice['votes']
+                'votes': choice['votes'],
             })
 
             choices_map[choice['id']] = choices[-1]['hash']

+ 6 - 1
misago/datamover/users.py

@@ -12,7 +12,12 @@ from . import fetch_assoc, localise_datetime, movedids
 
 UserModel = get_user_model()
 
-PRIVATE_THREAD_INVITES = {0: 0, 1: 0, 2: 1, 3: 2}
+PRIVATE_THREAD_INVITES = {
+    0: 0,
+    1: 0,
+    2: 1,
+    3: 2,
+}
 
 
 def move_users(stdout, style):

+ 10 - 2
misago/faker/management/commands/createfakecategories.py

@@ -15,11 +15,19 @@ class Command(BaseCommand):
 
     def add_arguments(self, parser):
         parser.add_argument(
-            'categories', help="number of categories to create", nargs='?', type=int, default=5
+            'categories',
+            help="number of categories to create",
+            nargs='?',
+            type=int,
+            default=5,
         )
 
         parser.add_argument(
-            'minlevel', help="min. level of created categories", nargs='?', type=int, default=0
+            'minlevel',
+            help="min. level of created categories",
+            nargs='?',
+            type=int,
+            default=0,
         )
 
     def handle(self, *args, **options):

+ 8 - 4
misago/faker/management/commands/createfakethreads.py

@@ -30,7 +30,11 @@ class Command(BaseCommand):
 
     def add_arguments(self, parser):
         parser.add_argument(
-            'threads', help="number of threads to create", nargs='?', type=int, default=5
+            'threads',
+            help="number of threads to create",
+            nargs='?',
+            type=int,
+            default=5,
         )
 
     def handle(self, *args, **options):
@@ -69,7 +73,7 @@ class Command(BaseCommand):
                     replies=0,
                     is_unapproved=thread_is_unapproved,
                     is_hidden=thread_is_hidden,
-                    is_closed=thread_is_closed
+                    is_closed=thread_is_closed,
                 )
                 thread.set_title(corpus_short.random_choice())
                 thread.save()
@@ -85,7 +89,7 @@ class Command(BaseCommand):
                     original=original,
                     parsed=parsed,
                     posted_on=datetime,
-                    updated_on=datetime
+                    updated_on=datetime,
                 )
                 update_post_checksum(post)
                 post.save(update_fields=['checksum'])
@@ -124,7 +128,7 @@ class Command(BaseCommand):
                         parsed=parsed,
                         is_unapproved=is_unapproved,
                         posted_on=datetime,
-                        updated_on=datetime
+                        updated_on=datetime,
                     )
 
                     if not is_unapproved:

+ 10 - 6
misago/faker/management/commands/createfakeusers.py

@@ -21,7 +21,11 @@ class Command(BaseCommand):
 
     def add_arguments(self, parser):
         parser.add_argument(
-            'users', help="number of users to create", nargs='?', type=int, default=5
+            'users',
+            help="number of users to create",
+            nargs='?',
+            type=int,
+            default=5,
         )
 
     def handle(self, *args, **options):
@@ -42,12 +46,12 @@ class Command(BaseCommand):
 
         while created_count < items_to_create:
             try:
-                kwargs = {
-                    'rank': random.choice(ranks),
-                }
-
                 user = UserModel.objects.create_user(
-                    fake.first_name(), fake.email(), 'pass123', set_default_avatar=False, **kwargs
+                    fake.first_name(),
+                    fake.email(),
+                    'pass123',
+                    set_default_avatar=False,
+                    rank=random.choice(ranks),
                 )
 
                 if random.randint(0, 100) > 90:

+ 18 - 6
misago/legal/tests.py

@@ -56,20 +56,26 @@ class PrivacyPolicyTests(TestCase):
         settings.override_setting('privacy_policy', 'Lorem ipsum')
         context_dict = legal_links(MockRequest())
 
-        self.assertEqual(context_dict, {'PRIVACY_POLICY_URL': reverse('misago:privacy-policy')})
+        self.assertEqual(context_dict, {
+            'PRIVACY_POLICY_URL': reverse('misago:privacy-policy'),
+        })
 
     def test_context_processor_remote_policy(self):
         """context processor has TOS link to remote url"""
         settings.override_setting('privacy_policy_link', 'http://test.com')
         context_dict = legal_links(MockRequest())
 
-        self.assertEqual(context_dict, {'PRIVACY_POLICY_URL': 'http://test.com'})
+        self.assertEqual(context_dict, {
+            'PRIVACY_POLICY_URL': 'http://test.com',
+        })
 
         # set misago view too
         settings.override_setting('privacy_policy', 'Lorem ipsum')
         context_dict = legal_links(MockRequest())
 
-        self.assertEqual(context_dict, {'PRIVACY_POLICY_URL': 'http://test.com'})
+        self.assertEqual(context_dict, {
+            'PRIVACY_POLICY_URL': 'http://test.com',
+        })
 
 
 class TermsOfServiceTests(TestCase):
@@ -118,7 +124,9 @@ class TermsOfServiceTests(TestCase):
         context_dict = legal_links(MockRequest())
 
         self.assertEqual(
-            context_dict, {'TERMS_OF_SERVICE_URL': reverse('misago:terms-of-service')}
+            context_dict, {
+                'TERMS_OF_SERVICE_URL': reverse('misago:terms-of-service'),
+            }
         )
 
     def test_context_processor_remote_tos(self):
@@ -126,10 +134,14 @@ class TermsOfServiceTests(TestCase):
         settings.override_setting('terms_of_service_link', 'http://test.com')
         context_dict = legal_links(MockRequest())
 
-        self.assertEqual(context_dict, {'TERMS_OF_SERVICE_URL': 'http://test.com'})
+        self.assertEqual(context_dict, {
+            'TERMS_OF_SERVICE_URL': 'http://test.com',
+        })
 
         # set misago view too
         settings.override_setting('terms_of_service', 'Lorem ipsum')
         context_dict = legal_links(MockRequest())
 
-        self.assertEqual(context_dict, {'TERMS_OF_SERVICE_URL': 'http://test.com'})
+        self.assertEqual(context_dict, {
+            'TERMS_OF_SERVICE_URL': 'http://test.com',
+        })

+ 3 - 1
misago/markup/context_processors.py

@@ -2,6 +2,8 @@ from django.urls import reverse
 
 
 def preload_api_url(request):
-    request.frontend_context.update({'PARSE_MARKUP_API': reverse('misago:api:parse-markup')})
+    request.frontend_context.update({
+        'PARSE_MARKUP_API': reverse('misago:api:parse-markup'),
+    })
 
     return {}

+ 9 - 3
misago/markup/flavours.py

@@ -12,7 +12,13 @@ def common(request, poster, text, allow_mentions=True, force_shva=False):
 
     Returns dict object
     """
-    return parse(text, request, poster, allow_mentions=allow_mentions, force_shva=force_shva)
+    return parse(
+        text,
+        request,
+        poster,
+        allow_mentions=allow_mentions,
+        force_shva=force_shva,
+    )
 
 
 def limited(request, text):
@@ -31,7 +37,7 @@ def limited(request, text):
         allow_mentions=False,
         allow_links=True,
         allow_images=False,
-        allow_blocks=False
+        allow_blocks=False,
     )
 
     return result['parsed_text']
@@ -45,7 +51,7 @@ def signature(request, owner, text):
         allow_mentions=False,
         allow_blocks=owner.acl_cache['allow_signature_blocks'],
         allow_links=owner.acl_cache['allow_signature_links'],
-        allow_images=owner.acl_cache['allow_signature_images']
+        allow_images=owner.acl_cache['allow_signature_images'],
     )
 
     return result['parsed_text']

+ 1 - 1
misago/markup/parser.py

@@ -56,7 +56,7 @@ def parse(
         'mentions': [],
         'images': [],
         'outgoing_links': [],
-        'inside_links': []
+        'inside_links': [],
     }
 
     # Parse text

+ 15 - 13
misago/markup/tests/test_mentions.py

@@ -10,15 +10,19 @@ class MockRequest(object):
 class MentionsTests(AuthenticatedUserTestCase):
     def test_single_mention(self):
         """markup extension parses single mention"""
-        TEST_CASES = (('<p>Hello, @{}!</p>', '<p>Hello, <a href="{}">@{}</a>!</p>'),
-                      ('<h1>Hello, @{}!</h1>', '<h1>Hello, <a href="{}">@{}</a>!</h1>'),
-                      ('<div>Hello, @{}!</div>', '<div>Hello, <a href="{}">@{}</a>!</div>'), (
-                          '<h1>Hello, <strong>@{}!</strong></h1>',
-                          '<h1>Hello, <strong><a href="{}">@{}</a>!</strong></h1>'
-                      ), (
-                          '<h1>Hello, <strong>@{}</strong>!</h1>',
-                          '<h1>Hello, <strong><a href="{}">@{}</a></strong>!</h1>'
-                      ), )
+        TEST_CASES = [
+            ('<p>Hello, @{}!</p>', '<p>Hello, <a href="{}">@{}</a>!</p>'),
+            ('<h1>Hello, @{}!</h1>', '<h1>Hello, <a href="{}">@{}</a>!</h1>'),
+            ('<div>Hello, @{}!</div>', '<div>Hello, <a href="{}">@{}</a>!</div>'),
+            (
+                '<h1>Hello, <strong>@{}!</strong></h1>',
+                '<h1>Hello, <strong><a href="{}">@{}</a>!</strong></h1>'
+            ),
+            (
+                '<h1>Hello, <strong>@{}</strong>!</h1>',
+                '<h1>Hello, <strong><a href="{}">@{}</a></strong>!</h1>'
+            ),
+        ]
 
         for before, after in TEST_CASES:
             result = {'parsed_text': before.format(self.user.username), 'mentions': []}
@@ -49,9 +53,8 @@ class MentionsTests(AuthenticatedUserTestCase):
         """markup extension handles multiple mentions"""
         before = '<p>Hello @{0} and @{0}, how is it going?</p>'.format(self.user.username)
 
-        formats = (self.user.get_absolute_url(), self.user.username)
         after = '<p>Hello <a href="{0}">@{1}</a> and <a href="{0}">@{1}</a>, how is it going?</p>'.format(
-            *formats
+            self.user.get_absolute_url(), self.user.username
         )
 
         result = {'parsed_text': before, 'mentions': []}
@@ -64,9 +67,8 @@ class MentionsTests(AuthenticatedUserTestCase):
         """markup extension handles mentions across document"""
         before = '<p>Hello @{0}</p><p>@{0}, how is it going?</p>'.format(self.user.username)
 
-        formats = (self.user.get_absolute_url(), self.user.username)
         after = '<p>Hello <a href="{0}">@{1}</a></p><p><a href="{0}">@{1}</a>, how is it going?</p>'.format(
-            *formats
+            self.user.get_absolute_url(), self.user.username
         )
 
         result = {'parsed_text': before, 'mentions': []}