Как получить загрузки в Webkit2
У меня довольно простая реализация Webkit2:
import os
from webbrowser import open_new
from j.AK import Api, AppWindow, settings
from gi.repository import Gtk, WebKit2, GLib
class PhotoSiteWindow(AppWindow):
"""
extends AK.AppWindow functionality
"""
def __init__(self):
super(PhotoSiteWindow, self).__init__()
def on_decide_policy(webview, decision, decision_type):
print(decision, decision_type)
if decision_type in [WebKit2.PolicyDecisionType.NAVIGATION_ACTION, WebKit2.PolicyDecisionType.NEW_WINDOW_ACTION]:
url = decision.get_navigation_action().get_request().get_uri()
print(url)
if url.lower().count("google") > 0:
decision.ignore()
return True
if (url.lower().count("download") > 0) or (url.startswith("blob")):
decision.ignore()
open_new(url)
return True
self.webview.load_uri(settings("app", "route"))
self.webview.connect("decide-policy", on_decide_policy)
Веб-сайт, который загружается, генерирует изображения, а затем позволяет пользователю загружать их, создавая
<a href="blob:https://some.url.com" download="Image.png"/>
Вышеуказанная простая разметка немедленно запускает загрузку. К сожалению, это не вызывает ничего на фронте.
Мне интересно, есть ли способ для меня "хай-джек" загруженного файла и позволить пользователю увидеть, где я буду хранить (используя tkinter или что-то).
То, что я делаю в данный момент, не работает, так как BLOB-объект недоступен за пределами текущей среды выполнения.