void-packages/srcpkgs/buku/patches/remove-cgi-warning.patch

39 lines
1.3 KiB
Diff

adapted from https://github.com/jarun/buku/pull/605
--- a/buku
+++ b/buku
@@ -19,10 +19,10 @@
import argparse
import calendar
-import cgi
import codecs
import collections
import contextlib
+import email.message
import json
import locale
import logging
@@ -3811,15 +3811,17 @@
if soup.meta and soup.meta.get('charset') is not None:
charset = soup.meta.get('charset')
elif 'content-type' in resp.headers:
- _, params = cgi.parse_header(resp.headers['content-type'])
- if params.get('charset') is not None:
- charset = params.get('charset')
+ m = email.message.Message()
+ m['content-type'] = resp.headers['content-type']
+ if m.get_param('charset') is not None:
+ charset = m.get_param('charset')
if not charset and soup:
meta_tag = soup.find('meta', attrs={'http-equiv': 'Content-Type'})
if meta_tag:
- _, params = cgi.parse_header(meta_tag.attrs['content'])
- charset = params.get('charset', charset)
+ m = email.message.Message()
+ m['content'] = meta_tag.attrs['content']
+ charset = m.get_param('charset', charset)
if charset:
LOGDBG('charset: %s', charset)