Reformatted code base using black.
This commit is contained in:
parent
56319cbad3
commit
53fdaa9d09
1 changed files with 12604 additions and 8966 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue