mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
gnu: python-django-compressor: Patch for Django 5.2 compatibility.
* gnu/packages/patches/django-compressor-build-with-beautifulsoup-4.14+.patch: New patch. * gnu/packages/django.scm (python-django-compressor)[source]: Patch with https://github.com/django-compressor/django-compressor/pull/1296, minus conflicting changes to requirements/tests.txt. Change-Id: Ic22268f6870b30c3ace689a4cadb63a77f69ca9e Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
parent
f5d972eb3a
commit
e0a350ba27
2 changed files with 43 additions and 1 deletions
|
|
@ -1748,7 +1748,9 @@ forms using your favorite CSS framework, without writing template code.")
|
|||
(method url-fetch)
|
||||
(uri (pypi-uri "django_compressor" version))
|
||||
(sha256
|
||||
(base32 "08m8cs1mnpwd2zlck8cbl4cdp21dgv4vj7j17krbgn745s5a9n61"))))
|
||||
(base32 "08m8cs1mnpwd2zlck8cbl4cdp21dgv4vj7j17krbgn745s5a9n61"))
|
||||
(patches
|
||||
(search-patches "django-compressor-build-with-beautifulsoup-4.14+.patch"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
From 53f50bc0cee1cdfaf023ba65e1524b820cb7c18e Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Kestenholz <mk@feinheit.ch>
|
||||
Date: Thu, 22 May 2025 10:37:20 +0200
|
||||
Subject: [PATCH 1/2] Disable bs4's multi valued attributes
|
||||
|
||||
---
|
||||
compressor/parser/beautifulsoup.py | 12 ++++--------
|
||||
1 file changed, 4 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/compressor/parser/beautifulsoup.py b/compressor/parser/beautifulsoup.py
|
||||
index 91897485..f673410e 100644
|
||||
--- a/compressor/parser/beautifulsoup.py
|
||||
+++ b/compressor/parser/beautifulsoup.py
|
||||
@@ -10,7 +10,9 @@ def __init__(self, content):
|
||||
try:
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
- self.soup = BeautifulSoup(self.content, "html.parser")
|
||||
+ # Disable multi_valued_attributes
|
||||
+ # http://www.crummy.com/software/BeautifulSoup/bs4/doc/#multi-valued-attributes
|
||||
+ self.soup = BeautifulSoup(self.content, "html.parser", multi_valued_attributes={})
|
||||
except ImportError as err:
|
||||
raise ImproperlyConfigured("Error while importing BeautifulSoup: %s" % err)
|
||||
|
||||
@@ -21,13 +23,7 @@ def js_elems(self):
|
||||
return self.soup.find_all("script")
|
||||
|
||||
def elem_attribs(self, elem):
|
||||
- attrs = dict(elem.attrs)
|
||||
- # hack around changed behaviour in bs4, it returns lists now instead of one string, see
|
||||
- # http://www.crummy.com/software/BeautifulSoup/bs4/doc/#multi-valued-attributes
|
||||
- for key, value in attrs.items():
|
||||
- if type(value) is list:
|
||||
- attrs[key] = " ".join(value)
|
||||
- return attrs
|
||||
+ return elem.attrs
|
||||
|
||||
def elem_content(self, elem):
|
||||
return elem.string
|
||||
|
||||
Loading…
Add table
Reference in a new issue