[Bug 1729754] Re: Python3 version of launchpadlib doesn't properly upload binary attachments to Launchpad
Colin Watson
cjwatson at canonical.com
Fri Jul 20 18:06:59 UTC 2018
** Description changed:
Tested on 16.04 and 17.10
python-launchpadlib (1.10.5-1 on 17.10)
python3-launchpadlib (1.10.5-1 on 17.10)
While working on porting a utility using launchpadlib from Python2 to
Python3, I noticed the binary attachments were becoming unreadable.
- I wrote a little proof of concept that uploads a given binary attachment
- to a launchpad issue (see attachment). To use it on staging launchpad:
+ I've tried uploading .jpg files, .tgz files, .tar.xz files, they all
+ fail to open properly.
+
+ P.S.: When a fix is available, can it be ported to Xenial? We need this
+ for our tools running on devices using Xenial.
+
+ [Test Case]
+ I wrote a little proof of concept that uploads a given binary attachment to a launchpad issue (see attachment). To use it on staging launchpad:
APPORT_STAGING=1 ./poc.py <bug_number> </path/to/file.bin>
When using the exact same script with python2 (basically, replacing
`python3` with `python` in the shebang line), the binary file is
properly attached. That's why I think it's a bug with
python3-launchpadlib.
- I've tried uploading .jpg files, .tgz files, .tar.xz files, they all
- fail to open properly.
+ [Regression Potential]
+ The only sensible way to fix this bug was to rewrite how wadllib does MIME-encoding of its form uploads, so it'll be important to test both text and binary uploads.
- P.S.: When a fix is available, can it be ported to Xenial? We need this
- for our tools running on devices using Xenial.
+ Launchpad only defines a few methods that use multipart/form-data, so
+ the regression potential is confined to those: bug.addAttachment,
+ distro_arch_series.setChroot, and project_release.add_file.
** Changed in: python-wadllib (Ubuntu)
Status: New => Fix Committed
** Changed in: python-wadllib (Ubuntu)
Importance: Undecided => High
** Changed in: python-wadllib (Ubuntu)
Assignee: (unassigned) => Colin Watson (cjwatson)
** Changed in: python-wadllib (Ubuntu Xenial)
Status: New => In Progress
** Changed in: python-wadllib (Ubuntu Xenial)
Importance: Undecided => High
** Changed in: python-wadllib (Ubuntu Xenial)
Assignee: (unassigned) => Colin Watson (cjwatson)
** Changed in: python-wadllib (Ubuntu Bionic)
Status: New => In Progress
** Changed in: python-wadllib (Ubuntu Bionic)
Importance: Undecided => High
** Changed in: python-wadllib (Ubuntu Bionic)
Assignee: (unassigned) => Colin Watson (cjwatson)
** Patch added: "debdiff for xenial"
https://bugs.launchpad.net/ubuntu/+source/python-wadllib/+bug/1729754/+attachment/5165657/+files/python-wadllib_1.3.2-3ubuntu0.16.04.1.debdiff
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python-wadllib in Ubuntu.
https://bugs.launchpad.net/bugs/1729754
Title:
Python3 version of launchpadlib doesn't properly upload binary
attachments to Launchpad
Status in wadllib:
Fix Released
Status in python-wadllib package in Ubuntu:
Fix Committed
Status in python-wadllib source package in Xenial:
In Progress
Status in python-wadllib source package in Bionic:
In Progress
Bug description:
Tested on 16.04 and 17.10
python-launchpadlib (1.10.5-1 on 17.10)
python3-launchpadlib (1.10.5-1 on 17.10)
While working on porting a utility using launchpadlib from Python2 to
Python3, I noticed the binary attachments were becoming unreadable.
I've tried uploading .jpg files, .tgz files, .tar.xz files, they all
fail to open properly.
P.S.: When a fix is available, can it be ported to Xenial? We need
this for our tools running on devices using Xenial.
[Test Case]
I wrote a little proof of concept that uploads a given binary attachment to a launchpad issue (see attachment). To use it on staging launchpad:
APPORT_STAGING=1 ./poc.py <bug_number> </path/to/file.bin>
When using the exact same script with python2 (basically, replacing
`python3` with `python` in the shebang line), the binary file is
properly attached. That's why I think it's a bug with
python3-launchpadlib.
[Regression Potential]
The only sensible way to fix this bug was to rewrite how wadllib does MIME-encoding of its form uploads, so it'll be important to test both text and binary uploads.
Launchpad only defines a few methods that use multipart/form-data, so
the regression potential is confined to those: bug.addAttachment,
distro_arch_series.setChroot, and project_release.add_file.
To manage notifications about this bug go to:
https://bugs.launchpad.net/wadllib/+bug/1729754/+subscriptions
More information about the foundations-bugs
mailing list