Implement attachment application/x-compressed-tar

This commit is contained in:
Peter J. Holzer 2019-05-12 22:58:41 +02:00
parent b5316d056e
commit c9ccb38eb9
2 changed files with 33 additions and 22 deletions

View File

@ -76,28 +76,29 @@ def render_message(msg):
def save_part(msg, disposition): def save_part(msg, disposition):
content_type = msg.get_content_type() content_type = msg.get_content_type()
extension = { extension = {
"application/octet-stream": ".bin", "application/octet-stream": ".bin",
"text/html": ".html", "text/html": ".html",
"text/x-vcard": ".vcf", "text/x-vcard": ".vcf",
"text/plain": ".txt", "text/plain": ".txt",
"application/x-gzip": ".gz", # more likely tar.gz, but we can't know without looking into it which we ain't "application/x-gzip": ".gz", # more likely tar.gz, but we can't know without looking into it which we ain't
"image/gif": ".gif", "image/gif": ".gif",
"text/x-c": ".c", "text/x-c": ".c",
"application/x-perl": ".pl", "application/x-perl": ".pl",
"application/msword": ".doc", "application/msword": ".doc",
"application/ms-tnef": ".ms-tnef", "application/ms-tnef": ".ms-tnef",
"application/x-bzip2": ".bz2", # more likely tar.bz2, but we can't know without looking into it which we ain't "application/x-bzip2": ".bz2", # more likely tar.bz2, but we can't know without looking into it which we ain't
"application/x-shellscript": ".sh", "application/x-shellscript": ".sh",
"application/x-java-vm": ".bin", # The only instances are mis-labelled "application/x-java-vm": ".bin", # The only instances are mis-labelled
"image/png": ".png", "image/png": ".png",
"application/pgp-keys": ".pgp", "application/pgp-keys": ".pgp",
"application/x-gunzip": ".gz", # that sort of makes sense, but not really "application/x-gunzip": ".gz", # that sort of makes sense, but not really
"image/jpeg": ".jpg", "image/jpeg": ".jpg",
"text/x-python": ".py", "text/x-python": ".py",
"text/x-java": ".java", "text/x-java": ".java",
"application/x-sh": ".sh", "application/x-sh": ".sh",
"text/x-patch": ".patch", "text/x-patch": ".patch",
"text/x-c++src": ".c++", "text/x-c++src": ".c++",
"application/x-compressed-tar": ".tar.gz",
}[content_type] }[content_type]
name = msg.get_param("name") or "(data)" name = msg.get_param("name") or "(data)"
@ -364,6 +365,7 @@ def render_body(msg, extra=None):
"multipart/related": render_multipart_related, "multipart/related": render_multipart_related,
"application/x-java-vm": render_application_octet_stream, "application/x-java-vm": render_application_octet_stream,
"image/jpeg": render_image_jpeg, "image/jpeg": render_image_jpeg,
"application/x-compressed-tar": render_application_octet_stream,
} }
content_type = msg.get_content_type() content_type = msg.get_content_type()
content_disposition = msg.get_content_disposition() content_disposition = msg.get_content_disposition()

View File

@ -0,0 +1,9 @@
<div class="partouter">
<div class="partheader">
application/x-compressed-tar
</div>
<div class="partinner">
<a href="{{url}}">{{name}}</a>
</div>
</div>