How to include the comments and minorEdit fields when uploading attachments
Hi,
I'm using update_attachment to upload a new version of an image attachment. I can upload the file, but when I include the comments or minorEdit in the attachment metadata, the requests library treats it like a file to be uploaded.
attachment_content = {
'comment': comment,
'minorEdit': False,
'file': (filepath, open(filepath, mode='rb'))
}
result = api.update_attachment(pageid, attachment_id, attachment_content)
Error thread:
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/PythonConfluenceAPI/api.py", line 1048, in update_attachment callback=callback) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/PythonConfluenceAPI/api.py", line 140, in _service_post_request return self._service_request("POST", *args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/PythonConfluenceAPI/api.py", line 114, in _service_request response = self.session.request(request_type, uri, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/requests/sessions.py", line 474, in request prep = self.prepare_request(req) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/requests/sessions.py", line 407, in prepare_request hooks=merge_hooks(request.hooks, self.hooks), File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/requests/models.py", line 305, in prepare self.prepare_body(data, files, json) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/requests/models.py", line 483, in prepare_body (body, content_type) = self._encode_files(files, data) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/requests/models.py", line 158, in _encode_files fdata = fp.read()
Problem is that the attachment dict is passed straight to the requests library, and all items are treated as files. It tries to upload "minorEdit" and fails because it's a bool.
Is there a way to separate the attachment metadata from the attachment data itself in this call?
Thanks,