[elbe-devel] [PATCH v1 1/3] check_updates: use strings for concatenated changelogs

Bastian Germann bage at linutronix.de
Fri Jul 2 18:28:59 CEST 2021


Am 02.07.21 um 18:14 schrieb Holger Dengler:
> Use strings instead of bytes for the concatenated changelogs and
> remove the late decoding.
> 
> Signed-off-by: Holger Dengler <dengler at linutronix.de>

Reviewed-by: Bastian Germann <bage at linutronix.de>

> ---
>   elbepack/changelogxml.py | 12 +-----------
>   elbepack/pkgutils.py     |  6 ++++--
>   2 files changed, 5 insertions(+), 13 deletions(-)
> 
> diff --git a/elbepack/changelogxml.py b/elbepack/changelogxml.py
> index e0400328..869783cd 100644
> --- a/elbepack/changelogxml.py
> +++ b/elbepack/changelogxml.py
> @@ -3,29 +3,19 @@
>   #
>   # SPDX-License-Identifier: GPL-3.0-or-later
>   
> -import re
>   from elbepack.treeutils import etree
>   
> -
> -remove_re = re.compile(u'[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]')
> -
>   class changelogs_xml:
>       def __init__(self):
>           self.outxml = etree(None)
>           self.pkglist = self.outxml.setroot('pkgchangelogs')
>   
>       def add_pkg_changelog(self, xp, changelog_text):
> -        changelog_text, _ = remove_re.subn('', changelog_text)
> -
>           xmlpkg = self.pkglist.append('changelog')
>           xmlpkg.et.attrib['name'] = xp.name
>           xmlpkg.et.attrib['version'] = xp.candidate_version
>           xmlpkg.et.attrib['old_version'] = xp.installed_version
> -
> -        try:
> -            xmlpkg.et.text = changelog_text.decode('utf-8')
> -        except ValueError:
> -            print(changelog_text)
> +        xmlpkg.et.text = changelog_text
>   
>       def write(self, fname):
>           self.outxml.write(fname, encoding="utf-8")
> diff --git a/elbepack/pkgutils.py b/elbepack/pkgutils.py
> index ea8c49aa..598eb6b1 100644
> --- a/elbepack/pkgutils.py
> +++ b/elbepack/pkgutils.py
> @@ -111,12 +111,14 @@ def extract_pkg_changelog(fname, extra_pkg=None):
>       ret = ""
>   
>       if fs.exists(dch_bin):
> -        ret += fs.read_file(dch_bin, gz=True)
> +        ret += fs.read_file(dch_bin, gz=True).decode(encoding='utf-8',
> +                                                     errors='replace')
>       else:
>           print("no bin")
>   
>       if fs.exists(dch_src):
> -        ret += fs.read_file(dch_src, gz=True)
> +        ret += fs.read_file(dch_src, gz=True).decode(encoding='utf-8',
> +                                                     errors='replace')
>       else:
>           print("no source")
>   
> 


More information about the elbe-devel mailing list