mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-14 11:00:36 +02:00
gnu: python-feedparser: Add Python >=3.9 compatibility.
* gnu/packages/patches/python-feedparser-missing-import.patch: New file. * gnu/local.mk: Add it. * gnu/packages/web.scm (python-feedparser): Use it.
This commit is contained in:
parent
cfccd6fe5a
commit
f9bff8614b
3 changed files with 37 additions and 1 deletions
34
gnu/packages/patches/python-feedparser-missing-import.patch
Normal file
34
gnu/packages/patches/python-feedparser-missing-import.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
Since feedparser messes with Python’s internals by assigning
|
||||
to __code__ it needs to import SGMLParseError too. It also
|
||||
expects SGMLParseError, which was turned into AssertionError by
|
||||
https://github.com/python/cpython/commit/e34bbfd61f405eef89e8aa50672b0b25022de320
|
||||
|
||||
--- feedparser-6.0.10/feedparser/sgml.py.orig 2023-03-18 09:24:50.976316932 +0100
|
||||
+++ feedparser-6.0.10/feedparser/sgml.py 2023-03-18 09:26:32.971928811 +0100
|
||||
@@ -28,6 +28,7 @@
|
||||
import re
|
||||
|
||||
import sgmllib
|
||||
+from sgmllib import SGMLParseError
|
||||
|
||||
__all__ = [
|
||||
'sgmllib',
|
||||
@@ -41,6 +42,7 @@
|
||||
'shorttagopen',
|
||||
'starttagopen',
|
||||
'endbracket',
|
||||
+ 'SGMLParseError',
|
||||
]
|
||||
|
||||
# sgmllib defines a number of module-level regular expressions that are
|
||||
--- feedparser-6.0.10/feedparser/html.py.orig 2023-03-18 09:32:03.647114745 +0100
|
||||
+++ feedparser-6.0.10/feedparser/html.py 2023-03-18 09:46:05.021142671 +0100
|
||||
@@ -349,7 +349,7 @@
|
||||
|
||||
try:
|
||||
return sgmllib.SGMLParser.parse_declaration(self, i)
|
||||
- except sgmllib.SGMLParseError:
|
||||
+ except AssertionError:
|
||||
# Escape the doctype declaration and continue parsing.
|
||||
self.handle_data('<')
|
||||
return i+1
|
Loading…
Add table
Add a link
Reference in a new issue