comparison libervia/frontends/tools/webrtc_file.py @ 4270:0d7bb4df2343

Reformatted code base using black.
author Goffi <goffi@goffi.org>
date Wed, 19 Jun 2024 18:44:57 +0200
parents 79c8a70e1813
children
comparison
equal deleted inserted replaced
4269:64a85ce8be70 4270:0d7bb4df2343
128 """Called when datachannel is open""" 128 """Called when datachannel is open"""
129 aio.run_from_thread(self._send_file, file_path, data_channel, loop=self.loop) 129 aio.run_from_thread(self._send_file, file_path, data_channel, loop=self.loop)
130 130
131 async def send_file_webrtc( 131 async def send_file_webrtc(
132 self, 132 self,
133 file_path: Path|str, 133 file_path: Path | str,
134 callee: jid.JID, 134 callee: jid.JID,
135 file_name: str | None = None, 135 file_name: str | None = None,
136 ) -> None: 136 ) -> None:
137 """Send a file using WebRTC to the given callee JID. 137 """Send a file using WebRTC to the given callee JID.
138 138
176 self.file_data: dict | None = None 176 self.file_data: dict | None = None
177 self.fd: IO[bytes] | None = None 177 self.fd: IO[bytes] | None = None
178 178
179 @staticmethod 179 @staticmethod
180 def format_confirm_msg( 180 def format_confirm_msg(
181 action_data: dict, 181 action_data: dict, peer_jid: jid.JID, peer_name: str | None = None
182 peer_jid: jid.JID,
183 peer_name: str|None = None
184 ) -> str: 182 ) -> str:
185 """Format a user-friendly confirmation message. 183 """Format a user-friendly confirmation message.
186 184
187 File data will be retrieve from ``action_data`` and used to format a user-friendly 185 File data will be retrieve from ``action_data`` and used to format a user-friendly
188 file confirmation message. 186 file confirmation message.
189 @param action_data: Data as returned by the "FILE" ``action_new`` signal. 187 @param action_data: Data as returned by the "FILE" ``action_new`` signal.
190 @return: User-friendly confirmation message. 188 @return: User-friendly confirmation message.
191 """ 189 """
192 file_data = action_data.get("file_data", {}) 190 file_data = action_data.get("file_data", {})
193 191
194 file_name = file_data.get('name') 192 file_name = file_data.get("name")
195 file_size = file_data.get('size') 193 file_size = file_data.get("size")
196 194
197 if file_name: 195 if file_name:
198 file_name_msg = 'wants to send you the file "{file_name}"'.format( 196 file_name_msg = 'wants to send you the file "{file_name}"'.format(
199 file_name=file_name 197 file_name=file_name
200 ) 198 )
201 else: 199 else:
202 file_name_msg = 'wants to send you an unnamed file' 200 file_name_msg = "wants to send you an unnamed file"
203 201
204 if file_size is not None: 202 if file_size is not None:
205 file_size_msg = "which has a size of {file_size_human}".format( 203 file_size_msg = "which has a size of {file_size_human}".format(
206 file_size_human=utils.get_human_size(file_size) 204 file_size_human=utils.get_human_size(file_size)
207 ) 205 )
208 else: 206 else:
209 file_size_msg = "which has an unknown size" 207 file_size_msg = "which has an unknown size"
210 208
211 file_description = file_data.get('desc') 209 file_description = file_data.get("desc")
212 if file_description: 210 if file_description:
213 description_msg = " Description: {}.".format(file_description) 211 description_msg = " Description: {}.".format(file_description)
214 else: 212 else:
215 description_msg = "" 213 description_msg = ""
216 214
219 if not peer_name: 217 if not peer_name:
220 peer_name = str(peer_jid) 218 peer_name = str(peer_jid)
221 else: 219 else:
222 peer_name = f"{peer_name} ({peer_jid})" 220 peer_name = f"{peer_name} ({peer_jid})"
223 221
224 return ( 222 return _(
225 _("{peer_name} {file_name_msg} {file_size_msg}.{description_msg} " 223 "{peer_name} {file_name_msg} {file_size_msg}.{description_msg} "
226 "Do you accept?").format( 224 "Do you accept?"
227 peer_name=peer_name, 225 ).format(
228 file_name_msg=file_name_msg, 226 peer_name=peer_name,
229 file_size_msg=file_size_msg, 227 file_name_msg=file_name_msg,
230 description_msg=description_msg 228 file_size_msg=file_size_msg,
231 ) 229 description_msg=description_msg,
232 ) 230 )
233 231
234 def _on_dc_message_data(self, fd, data_channel, glib_data) -> None: 232 def _on_dc_message_data(self, fd, data_channel, glib_data) -> None:
235 """A data chunk of the file has been received.""" 233 """A data chunk of the file has been received."""
236 fd.write(glib_data.get_data()) 234 fd.write(glib_data.get_data())