WebBrowser/GreaseMonkey/GreaseMonkeyUrlInterceptor.py

branch
maintenance
changeset 5730
6422afc7adc4
parent 5695
9a71bd9e2e37
parent 5729
e67c1c4f4abb
child 5731
54829a44cea5
equal deleted inserted replaced
5695:9a71bd9e2e37 5730:6422afc7adc4
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2016 - 2017 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a handler for GreaseMonkey related URLs.
8 """
9
10 from __future__ import unicode_literals
11
12 from PyQt5.QtWebEngineCore import QWebEngineUrlRequestInfo
13
14 from ..Network.UrlInterceptor import UrlInterceptor
15
16
17 class GreaseMonkeyUrlInterceptor(UrlInterceptor):
18 """
19 Class implementing a handler for GreaseMonkey related URLs.
20 """
21 def __init__(self, manager):
22 """
23 Constructor
24
25 @param manager reference to the GreaseMonkey manager
26 @type GreaseMonkeyManager
27 """
28 super(GreaseMonkeyUrlInterceptor, self).__init__(manager)
29
30 self.__manager = manager
31
32 def interceptRequest(self, info):
33 """
34 Public method to handle a GreaseMonkey request.
35
36 @param info request info object
37 @type QWebEngineUrlRequestInfo
38 """
39 if info.navigationType() != \
40 QWebEngineUrlRequestInfo.NavigationTypeLink:
41 return
42
43 if info.requestUrl().toString().endswith(".user.js"):
44 self.__manager.downloadScript(info.requestUrl())
45 info.block(True)

eric ide

mercurial