Compare commits

..

1 Commits

Author SHA1 Message Date
8fe058ffd2 Update dependency psycopg to v3.2.1 2024-07-01 08:00:32 +01:00
5 changed files with 17 additions and 30 deletions

View File

@ -1,11 +1,16 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base",
"replacements:all",
"workarounds:all"
"config:base"
],
"prConcurrentLimit": 0,
"packageRules": [
{
"matchUpdateTypes": ["patch"],
"schedule": ["every weekend"],
"enabled": false
}
],
"regexManagers": [
{
"fileMatch": ["^Dockerfile$"],
@ -13,6 +18,5 @@
"depNameTemplate": "just-containers/s6-overlay",
"datasourceTemplate": "github-releases"
}
],
"dependencyDashboardApproval": true
]
}

View File

@ -2,14 +2,14 @@ Django==5.0.4
wagtail==5.2.5
django-environ==0.11.2
whitenoise[brotli]==6.6.0
Pygments==2.18.0
Pygments==2.17.2
beautifulsoup4
lxml==5.2.1
requests
wagtail-generic-chooser==0.6
django-redis==5.4.0
gunicorn==22.0.0
psycopg==3.1.18
psycopg==3.2.1
djangorestframework
django-htmx==1.17.2
wagtail-metadata==5.0.0

View File

@ -7,7 +7,7 @@ from django.db.models.functions import Cast, Coalesce
from django.http import HttpRequest, HttpResponse, HttpResponsePermanentRedirect
from django.utils import timezone
from django.utils.functional import cached_property
from metadata_parser import ParsedResult
from metadata_parser import MetadataParser
from modelcluster.fields import ParentalManyToManyField
from wagtail.admin.panels import FieldPanel
from wagtail.models import Page, PageQuerySet, Site
@ -239,7 +239,7 @@ class ExternalBlogPostPage(BaseContentPage):
return tags
@cached_property
def metadata(self) -> ParsedResult:
def metadata(self) -> MetadataParser:
return get_page_metadata(self.external_url)
@cached_property

View File

@ -1,5 +1,3 @@
import pickle
from django.test import TestCase
from django.urls import reverse
@ -98,9 +96,7 @@ class ExternalBlogPostPageTestCase(TestCase):
def setUpTestData(cls) -> None:
cls.home_page = HomePage.objects.get()
cls.blog_post_list_page = BlogPostListPageFactory(parent=cls.home_page)
cls.page = ExternalBlogPostPageFactory(
parent=cls.blog_post_list_page, external_url="https://example.com"
)
cls.page = ExternalBlogPostPageFactory(parent=cls.blog_post_list_page)
def test_redirects(self) -> None:
with self.assertNumQueries(10):
@ -111,11 +107,3 @@ class ExternalBlogPostPageTestCase(TestCase):
status_code=301,
fetch_redirect_response=False,
)
def test_metadata(self) -> None:
metadata = self.page.metadata
self.assertIsNone(metadata.soup)
# Confirm it can pickle
pickle.dumps(metadata)

View File

@ -11,7 +11,7 @@ from django.http import QueryDict
from django.http.request import HttpRequest
from django.utils.text import slugify
from django_cache_decorator import django_cache_decorator
from metadata_parser import MetadataParser, ParsedResult
from metadata_parser import MetadataParser
from wagtail.models import Page, Site
from wagtail.models import get_page_models as get_wagtail_page_models
@ -128,13 +128,8 @@ def get_ai_robots_txt() -> str:
@django_cache_decorator(time=21600)
def get_page_metadata(url: str) -> ParsedResult:
metadata = MetadataParser(url=url, search_head_only=True).parsed_result
# HACK: BeautifulSoup doesn't pickle nicely, and so can't be cached
metadata.soup = None
return metadata
def get_page_metadata(url: str) -> MetadataParser:
return MetadataParser(url=url, search_head_only=True)
def extend_query_params(url: str, params: dict[str, Any]) -> str: