diff --git a/kuma/api/conftest.py b/kuma/api/conftest.py index a39e5499e35..b099909e3ea 100644 --- a/kuma/api/conftest.py +++ b/kuma/api/conftest.py @@ -38,7 +38,7 @@ def redirect_to_home(wiki_user): Revision.objects.create( document=doc, creator=wiki_user, - content=REDIRECT_CONTENT % {"href": reverse("home"), "title": "MDN Web Docs",}, + content=REDIRECT_CONTENT % {"href": reverse("home"), "title": "MDN Web Docs"}, title="Redirect to Home Page", created=datetime(2015, 7, 4, 11, 15), ) diff --git a/kuma/attachments/models.py b/kuma/attachments/models.py index bc1c3105c4b..3a878389cb2 100644 --- a/kuma/attachments/models.py +++ b/kuma/attachments/models.py @@ -18,7 +18,7 @@ def __init__(self, *args, **kwargs): access_key=settings.ATTACHMENTS_AWS_ACCESS_KEY_ID, secret_key=settings.ATTACHMENTS_AWS_SECRET_ACCESS_KEY, bucket_name=settings.ATTACHMENTS_AWS_STORAGE_BUCKET_NAME, - object_parameters={"CacheControl": "public, max-age=31536000, immutable",}, + object_parameters={"CacheControl": "public, max-age=31536000, immutable"}, default_acl="public-read", querystring_auth=False, custom_domain=settings.ATTACHMENTS_AWS_S3_CUSTOM_DOMAIN, diff --git a/kuma/attachments/utils.py b/kuma/attachments/utils.py index cf213e3a353..ae00274e5ad 100644 --- a/kuma/attachments/utils.py +++ b/kuma/attachments/utils.py @@ -36,7 +36,7 @@ def allow_add_attachment_by(user): def full_attachment_url(attachment_id, filename): path = reverse( "attachments.raw_file", - kwargs={"attachment_id": attachment_id, "filename": filename,}, + kwargs={"attachment_id": attachment_id, "filename": filename}, ) return f"{settings.PROTOCOL}{settings.ATTACHMENT_HOST}{path}" diff --git a/kuma/dashboards/tests/test_views.py b/kuma/dashboards/tests/test_views.py index fb11b172aa5..28b5019aa68 100644 --- a/kuma/dashboards/tests/test_views.py +++ b/kuma/dashboards/tests/test_views.py @@ -789,7 +789,7 @@ def test_macros_no_counts(mock_usage, client, db): "count": 0, "en_count": 0, }, - "CSSRef": {"github_subpath": "CSSRef.ejs", "count": 0, "en_count": 0,}, + "CSSRef": {"github_subpath": "CSSRef.ejs", "count": 0, "en_count": 0}, } response = client.get(reverse("dashboards.macros"), HTTP_HOST=settings.WIKI_HOST) diff --git a/kuma/health/views.py b/kuma/health/views.py index ac81ef7a983..5d565addc58 100644 --- a/kuma/health/views.py +++ b/kuma/health/views.py @@ -178,7 +178,7 @@ def csp_violation_capture(request): data = client.get_data_from_request(request) data.update( - {"level": logging.INFO, "logger": "CSP",} + {"level": logging.INFO, "logger": "CSP"} ) try: csp_data = json.loads(request.body) diff --git a/kuma/payments/tests/test_utils.py b/kuma/payments/tests/test_utils.py index ae03dd16822..5a6d2236b80 100644 --- a/kuma/payments/tests/test_utils.py +++ b/kuma/payments/tests/test_utils.py @@ -10,7 +10,7 @@ # https://stripe.com/docs/api/customers/retrieve simple_customer_data = { "sources": {"data": [{"card": {"last4": "0019"}}]}, - "subscriptions": {"data": [{"id": "sub_id", "plan": {"amount": 6400},}]}, + "subscriptions": {"data": [{"id": "sub_id", "plan": {"amount": 6400}}]}, } @@ -35,7 +35,7 @@ def test_cancel_stripe_customer_subscription(mock_sub, mock_cust): @mock.patch( "stripe.Customer.retrieve", - return_value={"subscriptions": {"data": [{"id": "sub_id1"}, {"id": "sub_id2"},]}}, + return_value={"subscriptions": {"data": [{"id": "sub_id1"}, {"id": "sub_id2"}]}}, ) @mock.patch( "stripe.Subscription.retrieve", diff --git a/kuma/scrape/fixture.py b/kuma/scrape/fixture.py index c5f599936e7..496d1c6a9c1 100644 --- a/kuma/scrape/fixture.py +++ b/kuma/scrape/fixture.py @@ -23,7 +23,7 @@ class FixtureLoader(object): model_metadata = { "account.emailaddress": { "natural_key": ("email",), - "relations": {"user": {"link": "to_one", "resource": "users.user",},}, + "relations": {"user": {"link": "to_one", "resource": "users.user"}}, }, "auth.group": { "natural_key": ("name",), @@ -40,13 +40,13 @@ class FixtureLoader(object): }, }, }, - "contenttypes.contenttype": {"natural_key": ("app_label", "model"),}, - "database.constance": {"natural_key": ("key",),}, + "contenttypes.contenttype": {"natural_key": ("app_label", "model")}, + "database.constance": {"natural_key": ("key",)}, "feeder.bundle": { "natural_key": ("shortname",), - "relations": {"feeds": {"link": "to_many", "resource": "feeder.feed",},}, + "relations": {"feeds": {"link": "to_many", "resource": "feeder.feed"}}, }, - "feeder.feed": {"natural_key": ("shortname",),}, + "feeder.feed": {"natural_key": ("shortname",)}, "search.filter": { "natural_key": ("name", "slug"), "relations": { @@ -54,31 +54,31 @@ class FixtureLoader(object): "tags": {"link": "to_many", "resource": "taggit.tag"}, }, }, - "search.filtergroup": {"natural_key": ("name", "slug"),}, - "sites.site": {"natural_key": ("id",),}, + "search.filtergroup": {"natural_key": ("name", "slug")}, + "sites.site": {"natural_key": ("id",)}, "socialaccount.socialaccount": { "natural_key": ("uid", "provider"), - "relations": {"user": {"link": "to_one", "resource": "users.user",}}, + "relations": {"user": {"link": "to_one", "resource": "users.user"}}, }, "socialaccount.socialapp": { "natural_key": ("name",), "relations": {"sites": {"link": "to_many", "resource": "sites.site"}}, }, - "taggit.tag": {"natural_key": ("name",),}, + "taggit.tag": {"natural_key": ("name",)}, "users.user": { "natural_key": ("username",), - "relations": {"groups": {"link": "to_many", "resource": "auth.group",},}, - "filters": {"password": "make_password",}, + "relations": {"groups": {"link": "to_many", "resource": "auth.group"}}, + "filters": {"password": "make_password"}, }, "users.userban": { "natural_key": ("user", "by"), "relations": { - "user": {"link": "to_one", "resource": "users.user",}, - "by": {"link": "to_one", "resource": "users.user",}, + "user": {"link": "to_one", "resource": "users.user"}, + "by": {"link": "to_one", "resource": "users.user"}, }, }, - "waffle.flag": {"natural_key": ("name",),}, - "waffle.switch": {"natural_key": ("name",),}, + "waffle.flag": {"natural_key": ("name",)}, + "waffle.switch": {"natural_key": ("name",)}, } class NeedsDependency(Exception): diff --git a/kuma/scrape/tests/test_fixture.py b/kuma/scrape/tests/test_fixture.py index a899d85ab25..a158377501b 100644 --- a/kuma/scrape/tests/test_fixture.py +++ b/kuma/scrape/tests/test_fixture.py @@ -38,7 +38,7 @@ def test_load_group(): } ], "contenttypes.contenttype": [ - {"app_label": "attachments", "model": "attachment",} + {"app_label": "attachments", "model": "attachment"} ], } ct_attachment = ContentType.objects.get(app_label="attachments", model="attachment") @@ -56,7 +56,7 @@ def test_load_group(): def test_underspecified_key_is_error(): """A fixture must define all the natural key items.""" - spec = {"users.user": [{"email": "email@example.com", "password": "password",}]} + spec = {"users.user": [{"email": "email@example.com", "password": "password"}]} with pytest.raises(ValueError) as error: FixtureLoader(spec) assert str(error.value) == 'users.user 0: Needs key "username"' @@ -68,7 +68,7 @@ def test_relation_as_key(): spec = { "users.user": [ {"username": "admin", "is_staff": True}, - {"username": "spammer",}, + {"username": "spammer"}, ], "users.userban": [{"user": ["spammer"], "by": ["admin"], "reason": "Spam"}], } @@ -84,7 +84,7 @@ def test_update_m2m_of_existing_instance(): user = User.objects.create(username="ironman") assert not user.groups.exists() spec = { - "auth.group": [{"name": "Avengers",}, {"name": "Illuminati",}], + "auth.group": [{"name": "Avengers"}, {"name": "Illuminati"}], "users.user": [ { "username": "ironman", @@ -111,7 +111,7 @@ def test_missing_relation_is_error(): def test_missing_key_relation_is_error(): """An unspecified relation is detected, raises exception.""" spec = { - "users.user": [{"username": "odin",}], + "users.user": [{"username": "odin"}], "users.userban": [{"user": ["loki"], "by": ["odin"], "reason": "Treason"}], } with pytest.raises(RuntimeError) as error: diff --git a/kuma/scrape/tests/test_source_document_meta.py b/kuma/scrape/tests/test_source_document_meta.py index 3e9aabcedc8..fa8cc63bc97 100644 --- a/kuma/scrape/tests/test_source_document_meta.py +++ b/kuma/scrape/tests/test_source_document_meta.py @@ -12,7 +12,7 @@ "locale": "en-US", "slug": "Learn/Getting_started_with_the_web", "translations": [ - {"locale": "fr", "url": "/fr/docs/Apprendre/Commencer_avec_le_web",}, + {"locale": "fr", "url": "/fr/docs/Apprendre/Commencer_avec_le_web"}, { "locale": "tr", "url": "/tr/docs/%C3%96%C4%9Fren/Getting_started_with_the_web", diff --git a/kuma/search/apps.py b/kuma/search/apps.py index 908d3524616..fce70fc7ed4 100644 --- a/kuma/search/apps.py +++ b/kuma/search/apps.py @@ -17,7 +17,7 @@ def ready(self): # Configure Elasticsearch connections for connection pooling. es_connections.configure( - default={"hosts": settings.ES_URLS,}, + default={"hosts": settings.ES_URLS}, indexing={ "hosts": settings.ES_URLS, "timeout": settings.ES_INDEXING_TIMEOUT, diff --git a/kuma/search/tasks.py b/kuma/search/tasks.py index 33f3eec016c..429e698182f 100644 --- a/kuma/search/tasks.py +++ b/kuma/search/tasks.py @@ -34,7 +34,7 @@ def prepare_index(index_pk): # Disable automatic refreshing and replicas. temporary_settings = { - "index": {"refresh_interval": "-1", "number_of_replicas": "0",} + "index": {"refresh_interval": "-1", "number_of_replicas": "0"} } es.indices.put_settings(temporary_settings, index=index.prefixed_name) diff --git a/kuma/settings/common.py b/kuma/settings/common.py index dc010aa91d8..264531af930 100644 --- a/kuma/settings/common.py +++ b/kuma/settings/common.py @@ -78,7 +78,7 @@ def parse_conn_max_age(value): "character_set_connection=utf8," "collation_connection=utf8_general_ci", }, - "TEST": {"CHARSET": "utf8", "COLLATION": "utf8_general_ci",}, + "TEST": {"CHARSET": "utf8", "COLLATION": "utf8_general_ci"}, } ) @@ -703,7 +703,7 @@ def pipeline_one_scss(slug, **kwargs): "print": { "source_filenames": ("styles/minimalist/print.scss",), "output_filename": "build/styles/print.css", - "extra_context": {"media": "print",}, + "extra_context": {"media": "print"}, }, "search": { "source_filenames": ("styles/search.scss",), @@ -887,12 +887,12 @@ def pipeline_one_scss(slug, **kwargs): "react.js", ), "output_filename": "build/js/react-main.js", - "extra_context": {"defer": True,}, + "extra_context": {"defer": True}, }, "bcd-signal": { "source_filenames": ("bcd-signal.js",), "output_filename": "build/js/react-bcd-signal.js", - "extra_context": {"defer": True,}, + "extra_context": {"defer": True}, }, "banners": { "source_filenames": ( @@ -901,7 +901,7 @@ def pipeline_one_scss(slug, **kwargs): "js/components/banners/banners.js", ), "output_filename": "build/js/banners.js", - "extra_context": {"async": True,}, + "extra_context": {"async": True}, }, "users": { "source_filenames": ( @@ -910,19 +910,19 @@ def pipeline_one_scss(slug, **kwargs): "js/users.js", ), "output_filename": "build/js/users.js", - "extra_context": {"async": True,}, + "extra_context": {"async": True}, }, "user-signup": { "source_filenames": ("js/components/user-signup/signup.js",), "output_filename": "build/js/signup.js", - "extra_context": {"async": True,}, + "extra_context": {"async": True}, }, "delete-user-page": { "source_filenames": ( "js/components/account-management/delete-user-confirmation-button.js", ), "output_filename": "build/js/delete-user-confirmation-button.js", - "extra_context": {"defer": True,}, + "extra_context": {"defer": True}, }, "delete-user-modal": { "source_filenames": ( @@ -931,7 +931,7 @@ def pipeline_one_scss(slug, **kwargs): "js/components/account-management/delete-user-confirmation-button.js", ), "output_filename": "build/js/delete-user-modal.js", - "extra_context": {"defer": True,}, + "extra_context": {"defer": True}, }, "auth-modal": { "source_filenames": ( @@ -939,12 +939,12 @@ def pipeline_one_scss(slug, **kwargs): "js/components/user-signup/auth-modal.js", ), "output_filename": "build/js/auth-modal.js", - "extra_context": {"defer": True,}, + "extra_context": {"defer": True}, }, "dashboard": { "source_filenames": ("js/dashboard.js",), "output_filename": "build/js/dashboard.js", - "extra_context": {"async": True,}, + "extra_context": {"async": True}, }, "jquery-ui": { "source_filenames": ( @@ -957,7 +957,7 @@ def pipeline_one_scss(slug, **kwargs): "search": { "source_filenames": ("js/search.js",), "output_filename": "build/js/search.js", - "extra_context": {"async": True,}, + "extra_context": {"async": True}, }, "payments": { "source_filenames": ("js/components/payments/payments-manage.js",), @@ -1004,7 +1004,7 @@ def pipeline_one_scss(slug, **kwargs): "js/components/page-load-actions.js", ), "output_filename": "build/js/wiki.js", - "extra_context": {"async": True,}, + "extra_context": {"async": True}, }, "wiki-edit": { "source_filenames": ( @@ -1018,7 +1018,7 @@ def pipeline_one_scss(slug, **kwargs): "wiki-move": { "source_filenames": ("js/wiki-move.js",), "output_filename": "build/js/wiki-move.js", - "extra_context": {"async": True,}, + "extra_context": {"async": True}, }, "wiki-compat-tables": { "source_filenames": ("js/wiki-compat-tables.js",), @@ -1028,12 +1028,12 @@ def pipeline_one_scss(slug, **kwargs): "task-completion": { "source_filenames": ("js/task-completion.js",), "output_filename": "build/js/task-completion.js", - "extra_context": {"async": True,}, + "extra_context": {"async": True}, }, "newsletter": { "source_filenames": ("js/newsletter.js",), "output_filename": "build/js/newsletter.js", - "extra_context": {"defer": True,}, + "extra_context": {"defer": True}, }, "perf": { "source_filenames": ( @@ -1041,7 +1041,7 @@ def pipeline_one_scss(slug, **kwargs): "js/utils/perf-post-message-handler.js", ), "output_filename": "build/js/perf.js", - "extra_context": {"async": True,}, + "extra_context": {"async": True}, }, "fetch-polyfill": { "source_filenames": ("js/libs/unfetch-4.1.0.min.js",), @@ -1320,7 +1320,7 @@ def parse_iframe_url(url): "tidings.events", ) -CELERY_TASK_ANNOTATIONS = {"cacheback.tasks.refresh_cache": {"rate_limit": "120/m",}} +CELERY_TASK_ANNOTATIONS = {"cacheback.tasks.refresh_cache": {"rate_limit": "120/m"}} CELERY_TASK_ROUTES = { "cacheback.tasks.refresh_cache": {"queue": "mdn_purgeable"}, @@ -1565,7 +1565,7 @@ def parse_iframe_url(url): LOGGING = { "version": 1, "disable_existing_loggers": False, - "filters": {"require_debug_true": {"()": "django.utils.log.RequireDebugTrue",}}, + "filters": {"require_debug_true": {"()": "django.utils.log.RequireDebugTrue"}}, "formatters": {"simple": {"format": "%(name)s:%(levelname)s %(message)s"}}, "handlers": { "console": { @@ -1581,8 +1581,8 @@ def parse_iframe_url(url): }, }, "loggers": { - "django": {"handlers": ["console"], "level": "INFO",}, # Drop mail_admins - "kuma": {"handlers": ["console-simple"], "propagate": True, "level": "ERROR",}, + "django": {"handlers": ["console"], "level": "INFO"}, # Drop mail_admins + "kuma": {"handlers": ["console-simple"], "propagate": True, "level": "ERROR"}, "elasticsearch": { "handlers": ["console-simple"], "level": config("ES_LOG_LEVEL", default="ERROR"), @@ -1592,8 +1592,8 @@ def parse_iframe_url(url): "level": config("ES_TRACE_LOG_LEVEL", default="ERROR"), "propagate": False, }, - "urllib3": {"handlers": ["console-simple"], "level": "ERROR",}, - "cacheback": {"handlers": ["console-simple"], "level": "ERROR",}, + "urllib3": {"handlers": ["console-simple"], "level": "ERROR"}, + "cacheback": {"handlers": ["console-simple"], "level": "ERROR"}, }, } @@ -1675,7 +1675,7 @@ def get_user_url(user): RAVEN_CONFIG = { "dsn": SENTRY_DSN, "transport": RequestsHTTPTransport, # Sync transport - "ignore_exception": ["django.core.exceptions.DisallowedHost",], + "ignore_exception": ["django.core.exceptions.DisallowedHost"], } if REVISION_HASH and REVISION_HASH != "undefined": RAVEN_CONFIG["release"] = REVISION_HASH diff --git a/kuma/settings/testing.py b/kuma/settings/testing.py index bcf028e0c94..1b8de7252e7 100644 --- a/kuma/settings/testing.py +++ b/kuma/settings/testing.py @@ -22,7 +22,7 @@ "propagate": True, "level": "WARNING", }, - "kuma.search.utils": {"handlers": [], "propagate": False, "level": "CRITICAL",}, + "kuma.search.utils": {"handlers": [], "propagate": False, "level": "CRITICAL"}, } ) diff --git a/kuma/users/forms.py b/kuma/users/forms.py index 30cc9b5adb3..2489a5fd63e 100644 --- a/kuma/users/forms.py +++ b/kuma/users/forms.py @@ -70,7 +70,7 @@ class UserEditForm(forms.ModelForm): required=False, validators=[User.WEBSITE_VALIDATORS["github"]], widget=forms.TextInput( - attrs={"placeholder": "https://github.com/", "data-fa-icon": "icon-github",} + attrs={"placeholder": "https://github.com/", "data-fa-icon": "icon-github"} ), ) is_github_url_public = forms.BooleanField( diff --git a/kuma/users/tests/test_helpers.py b/kuma/users/tests/test_helpers.py index 143ccf94191..ff1573a310b 100644 --- a/kuma/users/tests/test_helpers.py +++ b/kuma/users/tests/test_helpers.py @@ -14,13 +14,13 @@ def test_get_avatar_url(wiki_user, providers): SOCIAL_ACCOUNT_DATA = { "github": { "uid": 1234567, - "extra_data": {"avatar_url": "https://github/yada/yada",}, + "extra_data": {"avatar_url": "https://github/yada/yada"}, }, "google": { "uid": 123456789012345678901, "extra_data": {"picture": "https://google/yada/yada"}, }, - "persona": {"uid": wiki_user.email,}, + "persona": {"uid": wiki_user.email}, } first_valid_avatar_url = None for provider in providers: diff --git a/kuma/users/utils.py b/kuma/users/utils.py index c7c56025b67..da6e05886bd 100644 --- a/kuma/users/utils.py +++ b/kuma/users/utils.py @@ -28,7 +28,7 @@ def create_stripe_customer_and_subscription_for_user(user, email, stripe_token): if retrieve_stripe_subscription(customer) is None: stripe.Subscription.create( - customer=customer.id, items=[{"plan": settings.STRIPE_PLAN_ID,}], + customer=customer.id, items=[{"plan": settings.STRIPE_PLAN_ID}], ) diff --git a/kuma/wiki/forms.py b/kuma/wiki/forms.py index 888c27c0b9b..2fb8a3fe6b9 100644 --- a/kuma/wiki/forms.py +++ b/kuma/wiki/forms.py @@ -350,7 +350,7 @@ def __init__(self, revision, request=None): ) else: self.parameters.update( - {"user_ip": "0.0.0.0", "user_agent": "", "referrer": "",} + {"user_ip": "0.0.0.0", "user_agent": "", "referrer": ""} ) document = revision.document self.set_blog_lang(document.locale) @@ -488,7 +488,7 @@ class RevisionForm(AkismetCheckFormMixin, forms.ModelForm): required=False, max_length=255, label=_("Tags:"), - error_messages={"max_length": TAGS_LONG,}, + error_messages={"max_length": TAGS_LONG}, ) keywords = StrippedCharField( diff --git a/kuma/wiki/kumascript.py b/kuma/wiki/kumascript.py index 1bed677e89c..1b8572ec48d 100644 --- a/kuma/wiki/kumascript.py +++ b/kuma/wiki/kumascript.py @@ -78,7 +78,7 @@ def _post(content, env_vars, cache_control=None, timeout=None): def post(request, content, locale=settings.LANGUAGE_CODE): - return _post(content, {"url": request.build_absolute_uri("/"), "locale": locale,}) + return _post(content, {"url": request.build_absolute_uri("/"), "locale": locale}) # TODO(djf): This get() function is actually implemented on top of diff --git a/kuma/wiki/tasks.py b/kuma/wiki/tasks.py index f952a355809..434c6bddf7b 100644 --- a/kuma/wiki/tasks.py +++ b/kuma/wiki/tasks.py @@ -401,7 +401,7 @@ def build_locale_sitemap(locale): # To avoid an extra query to see if the queryset is empty, let's just # start iterator and create the sitemap on the first found page. # Note, how we check if 'urls' became truthy before adding it. - sitemap = WikiSitemap({"queryset": queryset, "date_field": "modified",}) + sitemap = WikiSitemap({"queryset": queryset, "date_field": "modified"}) for page in range(1, sitemap.paginator.num_pages + 1): urls = sitemap.get_urls(page=page) if page == 1: diff --git a/kuma/wiki/tests/test_kumascript.py b/kuma/wiki/tests/test_kumascript.py index 62223810e8d..0b40d56f3a3 100644 --- a/kuma/wiki/tests/test_kumascript.py +++ b/kuma/wiki/tests/test_kumascript.py @@ -158,7 +158,7 @@ def test_macro_page_count_en(db, mock_es_client): es_json = { "size": 0, - "query": {"bool": {"filter": [{"term": {"locale": "en-US"}}],}}, + "query": {"bool": {"filter": [{"term": {"locale": "en-US"}}]}}, "aggs": {"usage": {"terms": {"field": "kumascript_macros", "size": 2000}}}, } mock_es_client.search.assert_called_once_with( diff --git a/kuma/wiki/tests/test_views.py b/kuma/wiki/tests/test_views.py index 8f956ded2b9..d861ebb0bc6 100644 --- a/kuma/wiki/tests/test_views.py +++ b/kuma/wiki/tests/test_views.py @@ -1259,7 +1259,7 @@ def test_review_tags(self, get_current): # Now, post an update with two tags data.update( - {"form-type": "rev", "review_tags": ["editorial", "technical"],} + {"form-type": "rev", "review_tags": ["editorial", "technical"]} ) response = self.client.post( reverse("wiki.edit", args=[doc.slug]), data, HTTP_HOST=settings.WIKI_HOST @@ -1333,7 +1333,7 @@ def test_review_tags(self, get_current): assert doc_entry.encode() in response.content # Post an edit that removes the technical review tag. - data.update({"form-type": "rev", "review_tags": ["editorial",]}) + data.update({"form-type": "rev", "review_tags": ["editorial"]}) response = self.client.post( reverse("wiki.edit", args=[doc.slug]), data, HTTP_HOST=settings.WIKI_HOST ) @@ -1399,13 +1399,13 @@ def test_quick_review(self): "params": {"request_technical": 1}, "expected_tags": ["technical"], "name": "technical", - "message_contains": ["Editorial review completed.",], + "message_contains": ["Editorial review completed."], }, { "params": {"request_editorial": 1}, "expected_tags": ["editorial"], "name": "editorial", - "message_contains": ["Technical review completed.",], + "message_contains": ["Technical review completed."], }, { "params": {}, @@ -2927,7 +2927,7 @@ def test_schedule_rendering( data = new_document_data() data.update( - {"form-type": "rev", "content": "This is an update",} + {"form-type": "rev", "content": "This is an update"} ) edit_url = reverse("wiki.edit", args=[self.doc.slug]) @@ -2938,7 +2938,7 @@ def test_schedule_rendering( mock_document_schedule_rendering.reset_mock() data.update( - {"form-type": "both", "content": "This is a translation",} + {"form-type": "both", "content": "This is a translation"} ) translate_url = reverse("wiki.translate", args=[data["slug"]]) + "?tolocale=fr" response = self.client.post(translate_url, data, HTTP_HOST=settings.WIKI_HOST) diff --git a/kuma/wiki/tests/test_views_document.py b/kuma/wiki/tests/test_views_document.py index e414ea26815..d4b6c3644aa 100644 --- a/kuma/wiki/tests/test_views_document.py +++ b/kuma/wiki/tests/test_views_document.py @@ -420,7 +420,7 @@ def test_apply_content_experiment_has_experiment(ce_settings, rf): "ga_name": "experiment-test", "param": "v", "original_path": "/en-US/docs/Original", - "variants": {"control": "Original", "test": "Experiment:Test/Variant",}, + "variants": {"control": "Original", "test": "Experiment:Test/Variant"}, "selected": None, "selection_is_valid": None, } diff --git a/kuma/wiki/tests/test_views_revision.py b/kuma/wiki/tests/test_views_revision.py index 9ea9efa15f2..cdbeb77b0b4 100644 --- a/kuma/wiki/tests/test_views_revision.py +++ b/kuma/wiki/tests/test_views_revision.py @@ -93,7 +93,7 @@ def test_compare_revisions_without_tidied_content(edit_revision, client, raw): @pytest.mark.parametrize( - "id1,id2", [("1e309", "1e309"), ("", "invalid"), ("invalid", ""),] + "id1,id2", [("1e309", "1e309"), ("", "invalid"), ("invalid", "")] ) def test_compare_revisions_invalid_ids(root_doc, client, id1, id2): """Comparing badly-formed revision parameters return 404, not error.""" diff --git a/kuma/wiki/views/create.py b/kuma/wiki/views/create.py index 14ca300ae1e..7ed66f80629 100644 --- a/kuma/wiki/views/create.py +++ b/kuma/wiki/views/create.py @@ -136,7 +136,7 @@ def create(request): doc_form.data["slug"] = posted_slug context.update( - {"document_form": doc_form, "revision_form": rev_form,} + {"document_form": doc_form, "revision_form": rev_form} ) return render(request, "wiki/create.html", context) diff --git a/kuma/wiki/views/delete.py b/kuma/wiki/views/delete.py index 7e76ba57758..cd80d192a5a 100644 --- a/kuma/wiki/views/delete.py +++ b/kuma/wiki/views/delete.py @@ -161,5 +161,5 @@ def purge_document(request, document_slug, document_locale): return render( request, "wiki/confirm_purge.html", - {"document": document, "deletion_log": deletion_log,}, + {"document": document, "deletion_log": deletion_log}, )