1 # -*- coding: utf-8 -*- |
1 # -*- coding: utf-8 -*- |
2 |
2 |
3 # Copyright (c) 2016 Detlev Offenbach <detlev@die-offenbachs.de> |
3 # Copyright (c) 2016 Detlev Offenbach <detlev@die-offenbachs.de> |
4 # |
4 # |
5 |
5 |
|
6 """ |
|
7 Module implementing a handler for GreaseMonkey related URLs. |
|
8 """ |
|
9 |
6 from __future__ import unicode_literals |
10 from __future__ import unicode_literals |
7 |
11 |
8 ##class GM_UrlInterceptor : public UrlInterceptor |
12 from ..Network.UrlInterceptor import UrlInterceptor |
9 ##{ |
|
10 ##public: |
|
11 ## explicit GM_UrlInterceptor(GM_Manager* manager); |
|
12 ## |
|
13 ## void interceptRequest(QWebEngineUrlRequestInfo &info); |
|
14 ## |
|
15 ##private: |
|
16 ## GM_Manager *m_manager; |
|
17 ## |
|
18 ##}; |
|
19 |
13 |
20 |
14 |
21 ##GM_UrlInterceptor::GM_UrlInterceptor(GM_Manager *manager) |
15 class GreaseMonkeyUrlInterceptor(UrlInterceptor): |
22 ## : UrlInterceptor(manager) |
16 """ |
23 ## , m_manager(manager) |
17 Class implementing a handler for GreaseMonkey related URLs. |
24 ##{ |
18 """ |
25 ##} |
19 def __init__(self, manager): |
26 ## |
20 """ |
27 ##void GM_UrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info) |
21 Constructor |
28 ##{ |
22 |
29 ## if (info.requestUrl().toString().endsWith(QLatin1String(".user.js"))) { |
23 @param manager reference to the GreaseMonkey manager |
30 ## m_manager->downloadScript(info.requestUrl()); |
24 @type GreaseMonkeyManager |
31 ## info.block(true); |
25 """ |
32 ## } |
26 super(GreaseMonkeyUrlInterceptor, self).__init__(manager) |
33 ##} |
27 |
|
28 self.__manager = manager |
|
29 |
|
30 def interceptRequest(self, info): |
|
31 """ |
|
32 Public method to handle a GreaseMonkey request. |
|
33 |
|
34 @param info request info object |
|
35 @type QWebEngineUrlRequestInfo |
|
36 """ |
|
37 if info.requestUrl().toString.endswith(".user.js"): |
|
38 self.__manager.downloadScript(info.requestUrl()) |
|
39 info.block(True) |