aboutsummaryrefslogtreecommitdiff
path: root/mu4web/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'mu4web/main.py')
-rw-r--r--mu4web/main.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/mu4web/main.py b/mu4web/main.py
index 2e42edc..ba424ee 100644
--- a/mu4web/main.py
+++ b/mu4web/main.py
@@ -180,8 +180,6 @@ def page_base(title: Optional[str] = None,
def response_for(id: str, username: Optional[str] = None) -> str:
- # TODO option to show raw message
-
mail = cast(EmailMessage, get_mail(id))
headers = {}
@@ -241,6 +239,8 @@ def response_for(id: str, username: Optional[str] = None) -> str:
('hr',),
('main', body),
('hr',),
+ ('a', {'href': '/raw?' + urlencode({'id': id})},
+ 'Råa bitar'),
('ul', tree),
]
html_str = render_document(page_base(title=title,
@@ -453,6 +453,16 @@ def attachement_response(attachement: EmailMessage):
return response
+@app.route('/raw')
+@login_required
+def raw_message():
+ msg_id = request.args.get('id')
+ filename = mu.find_file(msg_id)
+ if not filename:
+ return 'No message with that id', 404
+ return flask.send_file(filename, mimetype='message/rfc822')
+
+
@app.route('/part')
@login_required
def attachement_part_page():