This has been fixed a while ago in the daily PPA package. Sadly there's no
maintainer for the Debian / Ubuntu's official repositories

El 30 jun. 2017 21:15, "cub" <1574...@bugs.launchpad.net> escribió:

> Apparently nobody uses qtqr (not even the developers); otherwise this
> bug wouldn't have been ignored for over a year.
>
> How do I petition to get this broken package removed from the
> distribution?
>
> --
> You received this bug notification because you are a member of QR Tools
> Team, which is subscribed to QR Tools.
> https://bugs.launchpad.net/bugs/1574162
>
> Title:
>   qrtools.py calls tostring() instead of tobytes()
>
> Status in QR Tools:
>   New
> Status in python-qrtools package in Ubuntu:
>   New
>
> Bug description:
>   The bug is exposed by the program qtqr, but the root cause is an
>   apparent mismatch between python-qrtools and python-pil that can be
>   fixed with a one-line patch to qrtools.py in python-qrtools.
>
>   Below I've given the output of enough commands to fully reproduce my
>   setup. You can use xxd -r to create the same PNG that I used, or you
>   can make your own with qtqr (it won't matter).
>
>
>   $ uname -prs
>   Linux 4.4.0-21-generic x86_64
>
>
>   $ lsb_release -rd
>   Description:  Ubuntu 16.04 LTS
>   Release:      16.04
>
>
>   # This is a test QR code that I created with qtqr; as seen below, the
> content is just "test".
>   $ xxd test.png
>   00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
>   00000010: 0000 0057 0000 0057 0103 0000 004b 064b  ...W...W.....K.K
>   00000020: 2f00 0000 0650 4c54 4500 0000 ffff ffa5  /....PLTE.......
>   00000030: d99f dd00 0000 0274 524e 53ff ffc8 b5df  .......tRNS.....
>   00000040: c700 0000 0970 4859 7300 000b 1200 000b  .....pHYs.......
>   00000050: 1201 d2dd 7efc 0000 00ba 4944 4154 388d  ....~.....IDAT8.
>   00000060: cdd3 3b0e c320 0c00 5057 1db2 e504 96b8  ..;.. ..PW......
>   00000070: 86b7 5c89 5c20 a827 e895 d87c 8d48 bd00  ..\.\ .'...|.H..
>   00000080: 6c0c 48ae 53a5 c942 ccd8 7a7a 832d 7f10  l.H.S..B..zz.-..
>   00000090: 2067 c05f 3801 2c84 00ce 7096 ba40 0d62   g._8.,...p..@.b
>   000000a0: 3aa2 27f4 43c7 0bd5 ae03 63c7 a24d f198  :.'.C.....c..M..
>   000000b0: a169 9d7f e673 97a6 3512 b9e3 264d a701  .i...s..5...&M..
>   000000c0: 00d6 c096 85ef 4fae e367 b62b e758 03bb  ......O..g.+.X..
>   000000d0: 3489 e5b2 adb0 e75f 3811 8e03 0289 618d  4......_8.....a.
>   000000e0: 5c5e 393a c37a 074f eb5e 7b61 6d3a c77b  \^9:.z.O.^{am:.{
>   000000f0: fede b66d 7d5f 583d 751c b4a4 88ed 99dd  ...m}_X=u.......
>   00000100: 839d 654d e61a 8a18 dee6 9ff0 569c e15f  ..eM........V.._
>   00000110: fdb5 b6df 4296 b3b4 dc52 71ee 0000 0000  ....B....Rq.....
>   00000120: 4945 4e44 ae42 6082                      IEND.B`.
>
>
>   $ apt-cache policy zbar-tools
>   zbar-tools:
>     Installed: 0.10+doc-10ubuntu1
>     Candidate: 0.10+doc-10ubuntu1
>     Version table:
>    *** 0.10+doc-10ubuntu1 500
>           500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64
> Packages
>           100 /var/lib/dpkg/status
>
>   $ zbarimg test.png
>   QR-Code:test
>   scanned 1 barcode symbols from 1 images in 0.01 seconds
>
>
>   $ apt-cache policy qtqr
>   qtqr:
>     Installed: 1.4~bzr21-1
>     Candidate: 1.4~bzr21-1
>     Version table:
>    *** 1.4~bzr21-1 500
>           500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64
> Packages
>           500 http://us.archive.ubuntu.com/ubuntu xenial/universe i386
> Packages
>           100 /var/lib/dpkg/status
>
>   $ qtqr
>
>
>   ### Manually select "Decode" and then "Decode from File" and choose
> test.png (or any PNG containing a QR code); the operation fails, and the
> following is printed on the console by qtqr:
>
>
>   /usr/lib/python2.7/dist-packages/PIL/Image.py:870: UserWarning: Palette
> images with Transparency   expressed in bytes should be converted to RGBA
> images
>     'to RGBA images')
>   Traceback (most recent call last):
>     File "/usr/bin/qtqr", line 540, in decodeFile
>       if qr.decode():
>     File "/usr/lib/python2.7/dist-packages/qrtools.py", line 181, in
> decode
>       raw = pil.tostring()
>     File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 695, in
> tostring
>       "Please call tobytes() instead.")
>   Exception: tostring() has been removed. Please call tobytes() instead.
>
>
>   $ dpkg --search /usr/lib/python2.7/dist-packages/qrtools.py
>   python-qrtools: /usr/lib/python2.7/dist-packages/qrtools.py
>
>   $ apt-cache policy python-qrtools
>   python-qrtools:
>     Installed: 1.4~bzr21-1
>     Candidate: 1.4~bzr21-1
>     Version table:
>    *** 1.4~bzr21-1 500
>           500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64
> Packages
>           500 http://us.archive.ubuntu.com/ubuntu xenial/universe i386
> Packages
>           100 /var/lib/dpkg/status
>
>
>   $ dpkg --search  /usr/lib/python2.7/dist-packages/PIL/Image.py
>   python-pil:amd64: /usr/lib/python2.7/dist-packages/PIL/Image.py
>
>   $ apt-cache policy python-pil
>   python-pil:
>     Installed: 3.1.2-0ubuntu1
>     Candidate: 3.1.2-0ubuntu1
>     Version table:
>    *** 3.1.2-0ubuntu1 500
>           500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64
> Packages
>           100 /var/lib/dpkg/status
>
>
>   Based on the code at Image.py:695, the call to tostring() is obviously
> an error; I've confirmed that the following patch fixes the problem.
>
>
>   $diff --git a/qrtools.py.orig b/qrtools.py.fixed
>   index 3e98469..68546e4 100644
>   --- a/qrtools.py.orig
>   +++ b/qrtools.py.fixed
>   @@ -178,7 +178,7 @@ class QR(object):
>                # obtain image data
>                pil = Image.open(self.filename).convert('L')
>                width, height = pil.size
>   -            raw = pil.tostring()
>   +            raw = pil.tobytes()
>                # wrap image data
>                image = zbar.Image(width, height, 'Y800', raw)
>                # scan the image for barcodes
>
>
>   When this patch is applied to /usr/lib/python2.7/dist-packages/qrtools.py,
> qtqr is able to correctly decode the test image.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qr-tools/+bug/1574162/+subscriptions
>

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1574162

Title:
  qrtools.py calls tostring() instead of tobytes()

To manage notifications about this bug go to:
https://bugs.launchpad.net/qr-tools/+bug/1574162/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to