Как получить загрузки в 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-объект недоступен за пределами текущей среды выполнения.

0 ответов

Другие вопросы по тегам