[elbe-devel] [PATCH] Revert "Python3: use encode instead of unicode() function"

Bastian Germann bage at linutronix.de
Fri Jan 31 13:06:02 CET 2020


Am 31.01.20 um 13:05 schrieb Torben Hohn:
> This reverts commit 91b938d2491d2ae680b2165ec54fc73594bed874.
> The "python3 fix" generates an Error on python2:
> 
> --------------------------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/var/cache/elbe/devel/elbepack/asyncworker.py", line 186, in execute
>     skip_pbuild=self.skip_pbuilder)
>   File "/var/cache/elbe/devel/elbepack/elbeproject.py", line 585, in build
>     self.buildenv.rfs.write_licenses(f, pkgnames, lic_xml_fname)
>   File "/var/cache/elbe/devel/elbepack/efilesystem.py", line 161, in
>     f.write(pkg.encode(encoding='utf-8', errors='replace'))
> TypeError: write() argument 1 must be unicode, not str
> --------------------------------------------------------------------------------------
> 
> This code only runs inside the initvm an does not need to be ported to
> python3 immediately.
> 
> Revert until a proper resolution is found.
> 
> Signed-off-by: Torben Hohn <torben.hohn at linutronix.de>

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

> ---
>  elbepack/efilesystem.py | 4 ++--
>  elbepack/licencexml.py  | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/elbepack/efilesystem.py b/elbepack/efilesystem.py
> index 050a95d95..5bc20afda 100644
> --- a/elbepack/efilesystem.py
> +++ b/elbepack/efilesystem.py
> @@ -155,10 +155,10 @@ class ElbeFilesystem(Filesystem):
>                  lic_text = "Error while processing license file %s: '%s'" % (
>                      copyright_file, e.strerror)
>  
> -            lic_text = lic_text.encode(encoding='utf-8', errors='replace')
> +            lic_text = unicode(lic_text, encoding='utf-8', errors='replace')
>  
>              if f is not None:
> -                f.write(pkg.encode(encoding='utf-8', errors='replace'))
> +                f.write(unicode(pkg))
>                  f.write(u":\n======================================"
>                          "==========================================")
>                  f.write(u"\n")
> diff --git a/elbepack/licencexml.py b/elbepack/licencexml.py
> index 09ab3cff7..6324fe4f9 100644
> --- a/elbepack/licencexml.py
> +++ b/elbepack/licencexml.py
> @@ -60,7 +60,7 @@ class copyright_xml (object):
>          txtnode = xmlpkg.append('text')
>          txtnode.et.text = copyright_text
>  
> -        bytesio = io.StringIO(txtnode.et.text.encode(encoding='utf-8', errors='replace'))
> +        bytesio = io.StringIO(unicode(txtnode.et.text))
>          try:
>              c = Copyright(bytesio)
>              files = []
> 



More information about the elbe-devel mailing list