Reformatted code base using black.

This commit is contained in:
Goffi 2024-06-19 18:44:57 +02:00
commit 53fdaa9d09

View file

@ -49,7 +49,7 @@ PLUGIN_INFO = {
}
AttachmentHandler = namedtuple('AttachmentHandler', ['can_handle', 'attach', 'priority'])
AttachmentHandler = namedtuple("AttachmentHandler", ["can_handle", "attach", "priority"])
class AttachPlugin:
@ -60,7 +60,7 @@ class AttachPlugin:
self._u = host.plugins["UPLOAD"]
host.trigger.add("sendMessage", self._send_message_trigger)
host.trigger.add("sendMessageComponent", self._send_message_trigger)
self._attachments_handlers = {'clear': [], 'encrypted': []}
self._attachments_handlers = {"clear": [], "encrypted": []}
self.register(self.default_can_handle, self.default_attach, False, -1000)
def register(self, can_handle, attach, encrypted=False, priority=0):
@ -82,12 +82,13 @@ class AttachPlugin:
"""
handler = AttachmentHandler(can_handle, attach, priority)
handlers = (
self._attachments_handlers['encrypted']
if encrypted else self._attachments_handlers['clear']
self._attachments_handlers["encrypted"]
if encrypted
else self._attachments_handlers["clear"]
)
if handler in handlers:
raise exceptions.InternalError(
'Attachment handler has been registered twice, this should never happen'
"Attachment handler has been registered twice, this should never happen"
)
handlers.append(handler)
@ -112,33 +113,40 @@ class AttachPlugin:
media_type = mimetypes.guess_type(path, strict=False)[0]
if media_type is None:
log.warning(
_("Can't resize attachment of unknown type: {attachment}")
.format(attachment=attachment))
_(
"Can't resize attachment of unknown type: {attachment}"
).format(attachment=attachment)
)
continue
attachment[C.KEY_ATTACHMENTS_MEDIA_TYPE] = media_type
main_type = media_type.split('/')[0]
main_type = media_type.split("/")[0]
if main_type == "image":
report = image.check(self.host, path)
if report['too_large']:
if report["too_large"]:
tmp_dir = Path(tempfile.mkdtemp())
tmp_dirs_to_clean.append(tmp_dir)
new_path = tmp_dir / path.name
await image.resize(
path, report["recommended_size"], dest=new_path)
path, report["recommended_size"], dest=new_path
)
attachment["path"] = new_path
log.info(
_("Attachment {path!r} has been resized at {new_path!r}")
.format(path=str(path), new_path=str(new_path)))
_(
"Attachment {path!r} has been resized at {new_path!r}"
).format(path=str(path), new_path=str(new_path))
)
else:
log.warning(
_("Can't resize attachment of type {main_type!r}: {attachment}")
.format(main_type=main_type, attachment=attachment))
_(
"Can't resize attachment of type {main_type!r}: {attachment}"
).format(main_type=main_type, attachment=attachment)
)
if client.encryption.is_encryption_requested(data):
handlers = self._attachments_handlers['encrypted']
handlers = self._attachments_handlers["encrypted"]
else:
handlers = self._attachments_handlers['clear']
handlers = self._attachments_handlers["clear"]
for handler in handlers:
can_handle = await utils.as_deferred(handler.can_handle, client, data)
@ -147,8 +155,9 @@ class AttachPlugin:
else:
raise exceptions.NotFound(
_("No plugin can handle attachment with {destinee}").format(
destinee = data['to']
))
destinee=data["to"]
)
)
await utils.as_deferred(handler.attach, client, data)
@ -159,10 +168,7 @@ class AttachPlugin:
return data
async def upload_files(
self,
client: SatXMPPEntity,
data: dict,
upload_cb: Optional[Callable] = None
self, client: SatXMPPEntity, data: dict, upload_cb: Optional[Callable] = None
):
"""Upload file, and update attachments
@ -202,7 +208,7 @@ class AttachPlugin:
continue
if "url" in attachment:
url = attachment.pop('url')
url = attachment.pop("url")
log.warning(
f"unexpected URL in attachment: {url!r}\nattachment: {attachment}"
)
@ -214,18 +220,18 @@ class AttachPlugin:
attachment["size"] = path.stat().st_size
extra = {
"attachment": attachment
}
extra = {"attachment": attachment}
progress_id = attachment.pop("progress_id", None)
if progress_id:
extra["progress_id"] = progress_id
check_certificate = self.host.memory.param_get_a(
"check_certificate", "Connection", profile_key=client.profile)
"check_certificate", "Connection", profile_key=client.profile
)
if not check_certificate:
extra['ignore_tls_errors'] = True
extra["ignore_tls_errors"] = True
log.warning(
_("certificate check disabled for upload, this is dangerous!"))
_("certificate check disabled for upload, this is dangerous!")
)
__, upload_d = await upload_cb(
client=client,
@ -255,8 +261,9 @@ class AttachPlugin:
return defer.ensureDeferred(self.attach_files(client, data))
def _send_message_trigger(
self, client, mess_data, pre_xml_treatments, post_xml_treatments):
if mess_data['extra'].get(C.KEY_ATTACHMENTS):
self, client, mess_data, pre_xml_treatments, post_xml_treatments
):
if mess_data["extra"].get(C.KEY_ATTACHMENTS):
post_xml_treatments.addCallback(self._attach_files, client=client)
return True
@ -271,8 +278,8 @@ class AttachPlugin:
body_elt = data["xml"].addElement("body")
attachments = data["extra"][C.KEY_ATTACHMENTS]
if attachments:
body_links = '\n'.join(a['url'] for a in attachments)
body_links = "\n".join(a["url"] for a in attachments)
if str(body_elt).strip():
# if there is already a body, we add a line feed before the first link
body_elt.addContent('\n')
body_elt.addContent("\n")
body_elt.addContent(body_links)