|
1 |
| -import aiohttp |
2 |
| - |
3 | 1 | from pubnub.endpoints.file_operations.send_file import SendFileNative
|
4 | 2 | from pubnub.endpoints.file_operations.publish_file_message import PublishFileMessage
|
5 | 3 | from pubnub.endpoints.file_operations.fetch_upload_details import FetchFileUploadS3Data
|
6 | 4 |
|
7 | 5 |
|
8 | 6 | class AsyncioSendFile(SendFileNative):
|
9 |
| - def build_file_upload_request(self): |
10 |
| - file = self.encrypt_payload() |
11 |
| - form_data = aiohttp.FormData() |
12 |
| - for form_field in self._file_upload_envelope.result.data["form_fields"]: |
13 |
| - form_data.add_field(form_field["key"], form_field["value"], content_type="multipart/form-data") |
14 |
| - form_data.add_field("file", file, filename=self._file_name, content_type="application/octet-stream") |
15 |
| - |
16 |
| - return form_data |
17 |
| - |
18 |
| - def options(self): |
19 |
| - request_options = super(SendFileNative, self).options() |
20 |
| - request_options.data = request_options.files |
21 |
| - return request_options |
22 |
| - |
23 | 7 | async def future(self):
|
24 |
| - self._file_upload_envelope = await FetchFileUploadS3Data(self._pubnub).\ |
25 |
| - channel(self._channel).\ |
26 |
| - file_name(self._file_name).future() |
| 8 | + self._file_upload_envelope = await FetchFileUploadS3Data(self._pubnub) \ |
| 9 | + .channel(self._channel) \ |
| 10 | + .file_name(self._file_name).future() |
27 | 11 |
|
28 | 12 | response_envelope = await super(SendFileNative, self).future()
|
29 | 13 |
|
30 |
| - publish_file_response = await PublishFileMessage(self._pubnub).\ |
31 |
| - channel(self._channel).\ |
32 |
| - meta(self._meta).\ |
33 |
| - message(self._message).\ |
34 |
| - file_id(response_envelope.result.file_id).\ |
35 |
| - file_name(response_envelope.result.name).\ |
36 |
| - should_store(self._should_store).\ |
37 |
| - ttl(self._ttl).\ |
38 |
| - cipher_key(self._cipher_key).future() |
| 14 | + publish_file_response = await PublishFileMessage(self._pubnub) \ |
| 15 | + .channel(self._channel) \ |
| 16 | + .meta(self._meta) \ |
| 17 | + .message(self._message) \ |
| 18 | + .file_id(response_envelope.result.file_id) \ |
| 19 | + .file_name(response_envelope.result.name) \ |
| 20 | + .should_store(self._should_store) \ |
| 21 | + .ttl(self._ttl) \ |
| 22 | + .replicate(self._replicate) \ |
| 23 | + .ptto(self._ptto) \ |
| 24 | + .custom_message_type(self._custom_message_type) \ |
| 25 | + .cipher_key(self._cipher_key).future() |
39 | 26 |
|
40 | 27 | response_envelope.result.timestamp = publish_file_response.result.timestamp
|
41 | 28 | return response_envelope
|
|
0 commit comments