wagtail 5.2.4__py3-none-any.whl → 5.2.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@ from django.contrib.auth.models import Permission
4
4
  from django.core import management
5
5
  from django.test import TransactionTestCase
6
6
  from django.urls import reverse
7
+ from django.utils.http import urlencode
7
8
 
8
9
  from wagtail.models import Page
9
10
  from wagtail.test.testapp.models import EventIndex, SimplePage, SingleEventPage
@@ -33,10 +34,29 @@ class TestPageSearch(WagtailTestUtils, TransactionTestCase):
33
34
  self.assertEqual(response.status_code, 200)
34
35
 
35
36
  def test_search(self):
37
+ # Find root page
38
+ root_page = Page.objects.get(id=2)
39
+
40
+ # Create a page
41
+ new_page = root_page.add_child(
42
+ instance=SimplePage(
43
+ title="Hello from Cauldron Lake",
44
+ slug="bright-falls",
45
+ content="It's not a lake, it's an ocean",
46
+ live=True,
47
+ has_unpublished_changes=False,
48
+ )
49
+ )
50
+
36
51
  response = self.get({"q": "Hello"})
37
52
  self.assertEqual(response.status_code, 200)
38
53
  self.assertTemplateUsed(response, "wagtailadmin/pages/search.html")
39
54
  self.assertEqual(response.context["query_string"], "Hello")
55
+ next_url = urlencode({"next": reverse("wagtailadmin_pages:search")})
56
+ expected_new_page_copy_url = (
57
+ reverse("wagtailadmin_pages:copy", args=(new_page.pk,)) + f"?{next_url}"
58
+ )
59
+ self.assertContains(response, f'href="{expected_new_page_copy_url}"')
40
60
 
41
61
  def test_search_searchable_fields(self):
42
62
  # Find root page
@@ -62,6 +82,20 @@ class TestPageSearch(WagtailTestUtils, TransactionTestCase):
62
82
  self.assertContains(response, "There is one matching page")
63
83
 
64
84
  def test_ajax(self):
85
+ # Find root page
86
+ root_page = Page.objects.get(id=2)
87
+
88
+ # Create a page
89
+ new_page = root_page.add_child(
90
+ instance=SimplePage(
91
+ title="Hello from Cauldron Lake",
92
+ slug="bright-falls",
93
+ content="It's not a lake, it's an ocean",
94
+ live=True,
95
+ has_unpublished_changes=False,
96
+ )
97
+ )
98
+
65
99
  response = self.get(
66
100
  {"q": "Hello"}, url_name="wagtailadmin_pages:search_results"
67
101
  )
@@ -69,6 +103,11 @@ class TestPageSearch(WagtailTestUtils, TransactionTestCase):
69
103
  self.assertTemplateNotUsed(response, "wagtailadmin/pages/search.html")
70
104
  self.assertTemplateUsed(response, "wagtailadmin/pages/search_results.html")
71
105
  self.assertEqual(response.context["query_string"], "Hello")
106
+ next_url = urlencode({"next": reverse("wagtailadmin_pages:search")})
107
+ expected_new_page_copy_url = (
108
+ reverse("wagtailadmin_pages:copy", args=(new_page.pk,)) + f"?{next_url}"
109
+ )
110
+ self.assertContains(response, f'href="{expected_new_page_copy_url}"')
72
111
 
73
112
  def test_pagination(self):
74
113
  # page numbers in range should be accepted
@@ -165,6 +165,7 @@ class BaseSearchView(PermissionCheckedMixin, BaseListingView):
165
165
  def get_table_kwargs(self):
166
166
  kwargs = super().get_table_kwargs()
167
167
  kwargs["show_locale_labels"] = self.show_locale_labels
168
+ kwargs["actions_next_url"] = self.get_index_url()
168
169
  return kwargs
169
170
 
170
171
  def get_context_data(self, **kwargs: Any) -> Dict[str, Any]:
@@ -1,6 +1,7 @@
1
1
  import datetime
2
2
  import json
3
3
  import urllib
4
+ from unittest.mock import patch
4
5
 
5
6
  from django.contrib.auth.models import Group, Permission
6
7
  from django.core.files.uploadedfile import SimpleUploadedFile, TemporaryUploadedFile
@@ -12,6 +13,8 @@ from django.utils.encoding import force_str
12
13
  from django.utils.html import escape, escapejs
13
14
  from django.utils.http import RFC3986_SUBDELIMS, urlencode
14
15
  from django.utils.safestring import mark_safe
16
+ from willow.optimizers.base import OptimizerBase
17
+ from willow.registry import registry
15
18
 
16
19
  from wagtail.admin.admin_url_finder import AdminURLFinder
17
20
  from wagtail.images import get_image_model
@@ -3434,6 +3437,35 @@ class TestPreviewView(WagtailTestUtils, TestCase):
3434
3437
  self.assertEqual(response.status_code, 200)
3435
3438
  self.assertEqual(response["Content-Type"], "image/png")
3436
3439
 
3440
+ def test_preview_with_optimizer(self):
3441
+ """
3442
+ Test that preview works with optimizers
3443
+
3444
+ Willow optimizers require
3445
+ """
3446
+
3447
+ class DummyOptimizer(OptimizerBase):
3448
+ library_name = "dummy"
3449
+ image_format = "png"
3450
+
3451
+ @classmethod
3452
+ def check_library(cls):
3453
+ return True
3454
+
3455
+ @classmethod
3456
+ def process(cls, file_path: str):
3457
+ pass
3458
+
3459
+ # Get the image
3460
+ with patch.object(registry, "_registered_optimizers", [DummyOptimizer]):
3461
+ response = self.client.get(
3462
+ reverse("wagtailimages:preview", args=(self.image.id, "fill-800x600"))
3463
+ )
3464
+
3465
+ # Check response
3466
+ self.assertEqual(response.status_code, 200)
3467
+ self.assertEqual(response["Content-Type"], "image/png")
3468
+
3437
3469
  def test_get_invalid_filter_spec(self):
3438
3470
  """
3439
3471
  Test that an invalid filter spec returns a 400 response
@@ -1,9 +1,10 @@
1
1
  import os
2
+ from tempfile import SpooledTemporaryFile
2
3
 
3
4
  from django.conf import settings
4
5
  from django.core.exceptions import PermissionDenied
5
6
  from django.core.paginator import InvalidPage, Paginator
6
- from django.http import Http404, HttpResponse, JsonResponse
7
+ from django.http import FileResponse, Http404, HttpResponse, JsonResponse
7
8
  from django.shortcuts import get_object_or_404, redirect
8
9
  from django.template.response import TemplateResponse
9
10
  from django.urls import reverse
@@ -333,8 +334,11 @@ def preview(request, image_id, filter_spec):
333
334
  image = get_object_or_404(get_image_model(), id=image_id)
334
335
 
335
336
  try:
336
- response = HttpResponse()
337
- image = Filter(spec=filter_spec).run(image, response)
337
+ # Temporary image needs to be an instance that Willow can run optimizers on
338
+ temp_image = SpooledTemporaryFile(max_size=settings.FILE_UPLOAD_MAX_MEMORY_SIZE)
339
+ image = Filter(spec=filter_spec).run(image, temp_image)
340
+ temp_image.seek(0)
341
+ response = FileResponse(temp_image)
338
342
  response["Content-Type"] = "image/" + image.format_name
339
343
  return response
340
344
  except InvalidFilterSpecError:
@@ -0,0 +1,43 @@
1
+ from django.apps import apps
2
+ from django.core.management.base import BaseCommand
3
+ from django.db import connection, models
4
+
5
+ from wagtail.models import (
6
+ BaseLogEntry,
7
+ BootstrapTranslatableMixin,
8
+ ReferenceIndex,
9
+ TranslatableMixin,
10
+ )
11
+
12
+
13
+ class Command(BaseCommand):
14
+ help = "Converts UUID columns from char type to the native UUID type used in MariaDB 10.7+ and Django 5.0+."
15
+
16
+ def convert_field(self, model, field_name, null=False):
17
+ if model._meta.get_field(field_name).model != model:
18
+ # Field is inherited from a parent model
19
+ return
20
+
21
+ if not model._meta.managed:
22
+ # The migration framework skips unmanaged models, so we should too
23
+ return
24
+
25
+ old_field = models.CharField(null=null, max_length=36)
26
+ old_field.set_attributes_from_name(field_name)
27
+
28
+ new_field = models.UUIDField(null=null)
29
+ new_field.set_attributes_from_name(field_name)
30
+
31
+ with connection.schema_editor() as schema_editor:
32
+ schema_editor.alter_field(model, old_field, new_field)
33
+
34
+ def handle(self, **options):
35
+ self.convert_field(ReferenceIndex, "content_path_hash")
36
+
37
+ for model in apps.get_models():
38
+ if issubclass(model, BaseLogEntry):
39
+ self.convert_field(model, "uuid", null=True)
40
+ elif issubclass(model, BootstrapTranslatableMixin):
41
+ self.convert_field(model, "translation_key", null=True)
42
+ elif issubclass(model, TranslatableMixin):
43
+ self.convert_field(model, "translation_key")
@@ -258,6 +258,30 @@ class TestParseQueryString(SimpleTestCase):
258
258
  self.assertDictEqual(filters.dict(), {"author": "foo bar", "bar": "beer"})
259
259
  self.assertEqual(repr(query), repr(Phrase("hello world")))
260
260
 
261
+ def test_long_queries(self):
262
+ filters, query = parse_query_string("0" * 60_000)
263
+ self.assertEqual(filters.dict(), {})
264
+ self.assertEqual(repr(query), repr(PlainText("0" * 60_000)))
265
+
266
+ filters, _ = parse_query_string(f'{"a" * 60_000}:"foo bar"')
267
+ self.assertEqual(filters.dict(), {"a" * 60_000: "foo bar"})
268
+
269
+ def test_long_filter_value(self):
270
+ filters, _ = parse_query_string(f'foo:ba{"r" * 60_000}')
271
+ self.assertEqual(filters.dict(), {"foo": f'ba{"r" * 60_000}'})
272
+
273
+ def test_joined_filters(self):
274
+ filters, query = parse_query_string("foo:bar:baz")
275
+ self.assertEqual(filters.dict(), {"foo": "bar"})
276
+ self.assertEqual(repr(query), repr(PlainText(":baz")))
277
+
278
+ filters, query = parse_query_string("foo:'bar':baz")
279
+ self.assertEqual(filters.dict(), {"foo": "bar"})
280
+ self.assertEqual(repr(query), repr(PlainText(":baz")))
281
+
282
+ filters, query = parse_query_string("foo:'bar:baz'")
283
+ self.assertEqual(filters.dict(), {"foo": "bar:baz"})
284
+
261
285
  def test_multiple_phrases(self):
262
286
  filters, query = parse_query_string('"hello world" "hi earth"')
263
287
 
wagtail/search/utils.py CHANGED
@@ -69,6 +69,8 @@ MUL = partial(balanced_reduce, operator.mul)
69
69
 
70
70
  MAX_QUERY_STRING_LENGTH = 255
71
71
 
72
+ filters_regexp = re.compile(r'\b(\w+):(\w+|"[^"]+"|\'[^\']+\')')
73
+
72
74
 
73
75
  def normalise_query_string(query_string):
74
76
  # Truncate query string
@@ -83,20 +85,12 @@ def normalise_query_string(query_string):
83
85
 
84
86
 
85
87
  def separate_filters_from_query(query_string):
86
- filters_regexp = r'(\w+):(\w+|"[^"]+"|\'[^\']+\')'
87
-
88
88
  filters = QueryDict(mutable=True)
89
- for match_object in re.finditer(filters_regexp, query_string):
89
+ for match_object in filters_regexp.finditer(query_string):
90
90
  key, value = match_object.groups()
91
- filters.update(
92
- {
93
- key: value.strip('"')
94
- if value.strip('"') is not value
95
- else value.strip("'")
96
- }
97
- )
98
-
99
- query_string = re.sub(filters_regexp, "", query_string).strip()
91
+ filters.update({key: value.strip("\"'")})
92
+
93
+ query_string = filters_regexp.sub("", query_string).strip()
100
94
 
101
95
  return filters, query_string
102
96
 
wagtail/test/settings.py CHANGED
@@ -1,5 +1,6 @@
1
1
  import os
2
2
 
3
+ from django import VERSION as DJANGO_VERSION
3
4
  from django.contrib.messages import constants as message_constants
4
5
  from django.utils.translation import gettext_lazy as _
5
6
 
@@ -70,10 +71,10 @@ if os.environ.get("STATICFILES_STORAGE", "") == "manifest":
70
71
  "BACKEND"
71
72
  ] = "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
72
73
 
73
- # DJANGO_VERSION < 4.2
74
- STATICFILES_STORAGE = (
75
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
76
- )
74
+ if DJANGO_VERSION < (4, 2):
75
+ STATICFILES_STORAGE = (
76
+ "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
77
+ )
77
78
 
78
79
 
79
80
  USE_TZ = not os.environ.get("DISABLE_TIMEZONE")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wagtail
3
- Version: 5.2.4
3
+ Version: 5.2.6
4
4
  Summary: A Django content management system.
5
5
  Home-page: https://wagtail.org/
6
6
  Author: Wagtail core team + contributors
@@ -63,7 +63,7 @@ Requires-Dist: boto3 (<2,>=1.28) ; extra == 'testing'
63
63
  Requires-Dist: freezegun (>=0.3.8) ; extra == 'testing'
64
64
  Requires-Dist: azure-mgmt-cdn (<13.0,>=12.0) ; extra == 'testing'
65
65
  Requires-Dist: azure-mgmt-frontdoor (<1.1,>=1.0) ; extra == 'testing'
66
- Requires-Dist: django-pattern-library (<0.8,>=0.7) ; extra == 'testing'
66
+ Requires-Dist: django-pattern-library (>=0.7) ; extra == 'testing'
67
67
  Requires-Dist: coverage (>=3.7.0) ; extra == 'testing'
68
68
  Requires-Dist: black (==22.3.0) ; extra == 'testing'
69
69
  Requires-Dist: doc8 (==0.8.1) ; extra == 'testing'
@@ -1,4 +1,4 @@
1
- wagtail/__init__.py,sha256=jmetSduAfAHcC7kBOOD1M45uLzWe4wMk5AUNoUO9Z5g,724
1
+ wagtail/__init__.py,sha256=XDqUURNn4H7iay8_FXbaL5gYy1CE3-tAmIV_9eF-HW8,724
2
2
  wagtail/apps.py,sha256=38kXTdHoQzFnpUqDNxFpsqn2dut4V0u9rLOkhqCoYkc,713
3
3
  wagtail/compat.py,sha256=L41FhlX4xy5KgTdJ63smtM78mtKf1mxkPeOs8kyOwS0,538
4
4
  wagtail/coreutils.py,sha256=ZlmtoHC5YzXmhdKi13QkCSmBryAmS7k8s5jgQjahpEQ,20660
@@ -395,7 +395,7 @@ wagtail/admin/static/wagtailadmin/js/task-chooser-modal.js,sha256=Bc2tiZEZUCmYPZ
395
395
  wagtail/admin/static/wagtailadmin/js/task-chooser.js,sha256=24TD8x4mFBUdTznitFx-wlAF0lg89aEikMbo6ctwpOo,1930
396
396
  wagtail/admin/static/wagtailadmin/js/userbar.js,sha256=N08FC9IY7z0lJGjZGYkmrsYyq6fsanJ0uNFJBQpi1nE,604331
397
397
  wagtail/admin/static/wagtailadmin/js/userbar.js.LICENSE.txt,sha256=BG16-0U6KNp-5ETc68CysKoj38lQWBs8-ISO5mjz6BQ,444
398
- wagtail/admin/static/wagtailadmin/js/vendor.js,sha256=1qgKkgRNRi4wOBDOYgA415hQup4e9iOXAMf1RmJko2U,268919
398
+ wagtail/admin/static/wagtailadmin/js/vendor.js,sha256=AVkXvHdPXSXaXyTZKnD001ipRlF9CU-DB1UOMorbdis,268921
399
399
  wagtail/admin/static/wagtailadmin/js/vendor.js.LICENSE.txt,sha256=0SPOUf-7WUvxOSTxvbXQSakggB31Oz09ZyhGCKymUaU,1487
400
400
  wagtail/admin/static/wagtailadmin/js/wagtailadmin.js,sha256=NhHDxr6iOtdaREbuGWsckEmcp9AwAtROBN4bnCOoi4Q,11558
401
401
  wagtail/admin/static/wagtailadmin/js/workflow-action.js,sha256=6pdfZFM19njXdpC0YvHCsvZuYdV5pt8wQknAeFTBWXk,3031
@@ -888,7 +888,7 @@ wagtail/admin/tests/pages/test_explorer_view.py,sha256=cKMfvtWIVpsj312WW9B4AQCdP
888
888
  wagtail/admin/tests/pages/test_moderation.py,sha256=tqovSSM6skG0AdV2ED65C5s7WnSJ5aHMyIZn87aqFiE,19241
889
889
  wagtail/admin/tests/pages/test_move_page.py,sha256=o-2onhDQ6eb6oqpSL29D8_r-zr-ubhUNb_exuVo4dtI,10175
890
890
  wagtail/admin/tests/pages/test_page_locking.py,sha256=7CMYaBVzbvSdsLMtXNOoVYnG0iSf7RMedFmGMRdguf8,11766
891
- wagtail/admin/tests/pages/test_page_search.py,sha256=9_e1lllYdWAYByegC_7ZQTISmomB4_reywGtz2HEGew,11269
891
+ wagtail/admin/tests/pages/test_page_search.py,sha256=HdcZr41y72YDl3X9qWgEqMWdBFcM7KgW3X-ZgbA7Qgg,12707
892
892
  wagtail/admin/tests/pages/test_page_usage.py,sha256=tXaY1nuPAPJKofBsUGkzgD0fuHpBbpceFlE_toG4kZU,2745
893
893
  wagtail/admin/tests/pages/test_preview.py,sha256=iOPpLg0WWlMihnJ5-w5c-Sw91BvahPXMwaH2BqeixfQ,25191
894
894
  wagtail/admin/tests/pages/test_reorder_page.py,sha256=71G4x9n6mgLbHrit5Hvk-it5SoRlkhwVo8nC4MLJiH8,5809
@@ -963,7 +963,7 @@ wagtail/admin/views/pages/move.py,sha256=tk2AT98mb3RcjjvvCEIczhw4orAzakmXCbdV4LB
963
963
  wagtail/admin/views/pages/ordering.py,sha256=cabaYVsfbHZoxNkGQUqP5klUSlnZDisSFbPko1mX8kM,1633
964
964
  wagtail/admin/views/pages/preview.py,sha256=kMizr-BU4oMHoXhHm7SmkPWBUNa6kq3eXZXj2eQ1yMI,3728
965
965
  wagtail/admin/views/pages/revisions.py,sha256=6AVJcSo00Vyz8nLgeqAXOVI0MplvDTlvtyttDUSxMKY,6627
966
- wagtail/admin/views/pages/search.py,sha256=oYOKthY-FjaeOAWbC4H9Z7FnfnSFPPjpmtA1rn9tmbI,6071
966
+ wagtail/admin/views/pages/search.py,sha256=WAjOoIrA8UM5XY4kBOve3c_wlMTPFDfn2jy6ZgWVO0E,6129
967
967
  wagtail/admin/views/pages/unpublish.py,sha256=p_lYd6x8k35UlFIhrZzEjQ6m68qbiHAWyvZrgCg4EoY,3716
968
968
  wagtail/admin/views/pages/usage.py,sha256=Xo3tdAH7n_VYjkEHzNtvUCcRWYL_fqb8ik1BVmqjrSU,2867
969
969
  wagtail/admin/views/pages/utils.py,sha256=TcZQmy-WQ2SJVeitqKz1kEJb5Svb80qg-ET9SAjMub8,123
@@ -2762,7 +2762,7 @@ wagtail/images/templates/wagtailimages/widgets/image_chooser.html,sha256=Rn1LgFX
2762
2762
  wagtail/images/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2763
2763
  wagtail/images/templatetags/wagtailimages_tags.py,sha256=a8GOwG-MmfRW0GJB-HQ6tqg8oBlH1Tk18O5OZR3tyQs,7718
2764
2764
  wagtail/images/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2765
- wagtail/images/tests/test_admin_views.py,sha256=LL6bSrJL_5c2APKLmCgRiTHQD5n5c_vJAb0V1OhLOhM,131698
2765
+ wagtail/images/tests/test_admin_views.py,sha256=hvBDpprDCJLKKHN6e5VoAD6PaxKwYy1sgKvakuq3adM,132653
2766
2766
  wagtail/images/tests/test_api_fields.py,sha256=CgCLk6PcIwXH4qcT9mBdsn43luD2CAiVZ6j4mxVadyQ,971
2767
2767
  wagtail/images/tests/test_blocks.py,sha256=ThEwsfPRwNrpJUkg3bqDBG2AXMp0GDgC1Takchi3dFg,2289
2768
2768
  wagtail/images/tests/test_form_overrides.py,sha256=ay_d_CoZFfv_QVbgsSEIZZGwsYfSrm4zkaV2kpG3H50,2727
@@ -2793,7 +2793,7 @@ wagtail/images/tests/test_bulk_actions/test_bulk_add_to_collection.py,sha256=URM
2793
2793
  wagtail/images/tests/test_bulk_actions/test_bulk_delete.py,sha256=3dPB4scy8-qBll_X1YmYZY6AgYeQNNncIqDt9j-i7QM,2959
2794
2794
  wagtail/images/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2795
2795
  wagtail/images/views/chooser.py,sha256=oumsJZCJwOaeZmNJyX3CshZO_C_Yd1tg062Wp63WncA,11714
2796
- wagtail/images/views/images.py,sha256=QISla4ibdSQTiTMUbTrTQRf2ypp9uFD_VQTp0YVwSsY,14613
2796
+ wagtail/images/views/images.py,sha256=CSfu9KpYGcF4BZeTfC-LEHE2VPrd6UAinidIE_NeExE,14881
2797
2797
  wagtail/images/views/multiple.py,sha256=-ar34KEVs7Dj09-7HW17LPs_7zgM3eDaB0G72jLGJ5U,5687
2798
2798
  wagtail/images/views/serve.py,sha256=RvCF2AG9baMLeN2L0dU-Lk6D5wS7LMpkIRBD-E3SAIY,2950
2799
2799
  wagtail/images/views/bulk_actions/__init__.py,sha256=fDYVsKqg9AIt1GvNtgyi5RFlchzJeCuqxUno7fU3zAs,216
@@ -3018,6 +3018,7 @@ wagtail/locales/templates/wagtaillocales/create.html,sha256=rOJbRZ9Y6Nf3oAjGIgRv
3018
3018
  wagtail/locales/templates/wagtaillocales/edit.html,sha256=Z6BKLxPMJzIBOZW-X2pmBh5r2dGQOP4fm5PEXxscUjQ,411
3019
3019
  wagtail/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3020
3020
  wagtail/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3021
+ wagtail/management/commands/convert_mariadb_uuids.py,sha256=J-qLmgxq2jgciJUtz6bBsTv-7OUHLgXpAG4Br8QVdbc,1568
3021
3022
  wagtail/management/commands/create_log_entries_from_revisions.py,sha256=0FnmvrUo9jW1N1OaB9DA1SzIT7e2YYiPn6ATX4Ak9Ys,5020
3022
3023
  wagtail/management/commands/fixtree.py,sha256=O5mwQ-k4-8Zq2e47mbBtJjJ_ODOHFlA_MOl8XxIFdmU,6786
3023
3024
  wagtail/management/commands/move_pages.py,sha256=SZVk8AwDJQOROr4lZ56jM9KzryZe31ZBTUJib_u8x2w,852
@@ -3173,7 +3174,7 @@ wagtail/search/models.py,sha256=8YNIfAMXtvZVWwOyQhbSDznmdT8EiPAWuu2BkwGBnEA,1008
3173
3174
  wagtail/search/query.py,sha256=QhZD3Sx2rtZWKz9BXq7Cy6oSHxJ1Ly0Nr9BpyyUsoiE,2340
3174
3175
  wagtail/search/queryset.py,sha256=qj6pjLnCH2W3bZGNUrpf7c82Bt7ZPrjGO6yRwT3m1f8,1221
3175
3176
  wagtail/search/signal_handlers.py,sha256=Md4dhmwLF7kX7YLG-MsqTLQ6NdfkFIavBJ9n5OsUIgA,956
3176
- wagtail/search/utils.py,sha256=PnF65FM5Udc7mZ8J2oBMJ15T6vYGL0N69awp_RgEDmc,6210
3177
+ wagtail/search/utils.py,sha256=onx_ym1p0kMBggaormbztwM-T0lXvnTG5vyOuyDnMQ0,6075
3177
3178
  wagtail/search/backends/__init__.py,sha256=nJEc435WnprL13v7OwcUCyHz0CTXMCMar9xTRqn1rH8,3455
3178
3179
  wagtail/search/backends/base.py,sha256=M7lyovOz2Wau_UwjyEk7AYeQOLt6Q3Lm2hUHDUoEVNg,16806
3179
3180
  wagtail/search/backends/elasticsearch5.py,sha256=lfhUvXUafpmnw0kqdZVr9LBSUMjUuehMkixzj6rYYls,39018
@@ -3319,7 +3320,7 @@ wagtail/search/tests/test_mysql_backend.py,sha256=BsAJk-0y0nKsSOo4qovY8yHIRLnL6S
3319
3320
  wagtail/search/tests/test_page_search.py,sha256=1oPBcgyJQpJmAQaNAhDAWXdVe2xrZ6kf7clefPZ0JLY,2363
3320
3321
  wagtail/search/tests/test_postgres_backend.py,sha256=QAR78RKMAUCH9beNu3r1Qxuhb865K8NU1C9sWC8lVco,7406
3321
3322
  wagtail/search/tests/test_postgres_stemming.py,sha256=zUqIANnIu4FD8SQtDd0xtCKH6x5voe9mdgA7nK0g3Wk,1346
3322
- wagtail/search/tests/test_queries.py,sha256=-79wHb7o98Jy4QaeJM_I0WXvh4LMRDYD2kaJYWfUk2c,14150
3323
+ wagtail/search/tests/test_queries.py,sha256=2nwg7h4DgITTbG6dHC8xgM3s3mKFonlR1VKTZT3BMoI,15189
3323
3324
  wagtail/search/tests/test_related_fields.py,sha256=B3vvhVVzzBQQYgbe2n6WE9s3VkD4YniCxfqy8nIQXU8,3420
3324
3325
  wagtail/search/tests/test_sqlite_backend.py,sha256=csgHqTr7P2F4-KwMYq6UaehlLs73XG0uVQJn9hWWzVM,1821
3325
3326
  wagtail/sites/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -3623,7 +3624,7 @@ wagtail/test/headless_urls.py,sha256=v1mY7fcuKFIang6wpDB8qGcvCwQzkWh_rHfmSF1wdHA
3623
3624
  wagtail/test/manage.py,sha256=JaihE2eqQFMxzd83WWPE4DLnZbzq0bqEkozWAbe-xn8,255
3624
3625
  wagtail/test/middleware.py,sha256=noHy_kAzZ-61uC_PCLr8WLYWSpqx83dsE8OsVPv56tA,906
3625
3626
  wagtail/test/non_root_urls.py,sha256=ZWPGHRmWHmx2Ext6S_TONDj4ZHdBt5BNZoULON1nDlA,556
3626
- wagtail/test/settings.py,sha256=ofhHa1KJaJSno-cKoWwMneLxi4vjYvpCdzAFWsg9oJ8,9490
3627
+ wagtail/test/settings.py,sha256=5LsIaNYQRmFzh1Uroruuq5HsrYGERZSKTTiuRkRxvcs,9552
3627
3628
  wagtail/test/settings_ui.py,sha256=zg6mNziQPeeIBcat2TOPdqdL8zHc6QyADsNFHxt6PiM,1037
3628
3629
  wagtail/test/urls.py,sha256=4JIjXPBeaOSBV2jBrgOeMlVuGbl_SWZK_bqmVBxF7eI,2474
3629
3630
  wagtail/test/urls_multilang.py,sha256=tkd6-d4cNNTDQwIoyDVUPL0Ya51W326N8LSVOIdFnF8,190
@@ -4070,9 +4071,9 @@ wagtail/utils/urlpatterns.py,sha256=RDhVScxdm-RV4HSMjWElyrbEoTPsXu841_SKMgoFKtY,
4070
4071
  wagtail/utils/utils.py,sha256=UALGn0KOyqi5ZoXOozWX99ZPUsVZP51ET8d7sZ1jlm0,430
4071
4072
  wagtail/utils/version.py,sha256=40WGMIy8nSPQJFF01p7c38L444SexH2Cb-bQmR8ztXg,1478
4072
4073
  wagtail/utils/widgets.py,sha256=oTpTMcmQ0Y4MugbSKp_Uigl97ftWdHvMfvhrrLyVmBs,1529
4073
- wagtail-5.2.4.dist-info/LICENSE,sha256=0aiL7_RJ2YkOjscmRI7opwmuURrY6h8MR0B24nrdRQU,1512
4074
- wagtail-5.2.4.dist-info/METADATA,sha256=1XqOblIzPCZys_AyynwCkFYDcXIxpkcicWerrBMJMB4,3855
4075
- wagtail-5.2.4.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
4076
- wagtail-5.2.4.dist-info/entry_points.txt,sha256=R14Z0xKoufNcDaku0EWDKM-K8J4ap0EImO8C-df8HVM,53
4077
- wagtail-5.2.4.dist-info/top_level.txt,sha256=zcKgvuRTi0gSgVzJ1qMoERCwhQ_i0n9bkyxza3oh9as,8
4078
- wagtail-5.2.4.dist-info/RECORD,,
4074
+ wagtail-5.2.6.dist-info/LICENSE,sha256=0aiL7_RJ2YkOjscmRI7opwmuURrY6h8MR0B24nrdRQU,1512
4075
+ wagtail-5.2.6.dist-info/METADATA,sha256=ggJawfxlL1fllg9awx_FmLH2WB0CPkL4re9iyWet3IU,3850
4076
+ wagtail-5.2.6.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
4077
+ wagtail-5.2.6.dist-info/entry_points.txt,sha256=R14Z0xKoufNcDaku0EWDKM-K8J4ap0EImO8C-df8HVM,53
4078
+ wagtail-5.2.6.dist-info/top_level.txt,sha256=zcKgvuRTi0gSgVzJ1qMoERCwhQ_i0n9bkyxza3oh9as,8
4079
+ wagtail-5.2.6.dist-info/RECORD,,