def file_loaded(self, data): buff = Soup.Buffer.new(data) multipart = Soup.Multipart.new('multipart/form-data') multipart.append_form_string('data_type', 'fit') multipart.append_form_file('file', self.activity.filename, 'application/octet-stream', buff) message = Soup.form_request_new_from_multipart(UPLOAD_URL, multipart) message.request_headers.append('Authorization', 'Bearer {}'.format(self.token)) self.session.send_async(message, callback=self.sent_cb) self.change_status(Uploader.Status.UPLOADING)
def _build_request(self): gfile = Gio.File.new_for_uri(self.filename) data = gfile.load_contents(None)[1] body = Soup.Buffer.new([byte for byte in data]) multipart = Soup.Multipart.new('multipart/form-data') for key, value in self.extra_keys.items(): multipart.append_form_string(key, value) if self.description and self.description_key: multipart.append_form_string(self.description_key, self.description) multipart.append_form_file(self.picture_key, self.filename, 'application/octet-stream', body) message = Soup.form_request_new_from_multipart(self.url, multipart) for header, value in self.headers.items(): message.request_headers.append(header, value) return message