summaryrefslogtreecommitdiff
path: root/keyman_config/check_mime_type.py
diff options
context:
space:
mode:
Diffstat (limited to 'keyman_config/check_mime_type.py')
-rw-r--r--keyman_config/check_mime_type.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/keyman_config/check_mime_type.py b/keyman_config/check_mime_type.py
new file mode 100644
index 0000000..b9d9cc7
--- /dev/null
+++ b/keyman_config/check_mime_type.py
@@ -0,0 +1,20 @@
+#!/usr/bin/python3
+
+import logging
+import subprocess
+import webbrowser
+import urllib.parse
+
+
+def check_mime_type(webview, frame, request, mimetype, policy_decision):
+ """Handle downloads and PDF files."""
+ if mimetype == 'application/pdf':
+ logging.info("check_mime_type: Download and run %s", request.get_uri())
+ parse_url = urllib.parse.urlparse(request.get_uri())
+ if parse_url.scheme == "file":
+ subprocess.call(['xdg-open', parse_url.path])
+ else:
+ webbrowser.open(request.get_uri())
+ policy_decision.ignore()
+ return True
+ return False