5 |
5 |
6 """ |
6 """ |
7 Module implementing the GreaseMonkey script. |
7 Module implementing the GreaseMonkey script. |
8 """ |
8 """ |
9 |
9 |
|
10 import re |
10 |
11 |
11 from PyQt5.QtCore import ( |
12 from PyQt5.QtCore import ( |
12 pyqtSignal, pyqtSlot, QObject, QUrl, QRegExp, QByteArray, |
13 pyqtSignal, pyqtSlot, QObject, QUrl, QByteArray, QCryptographicHash |
13 QCryptographicHash |
|
14 ) |
14 ) |
15 from PyQt5.QtGui import QIcon, QPixmap, QImage |
15 from PyQt5.QtGui import QIcon, QPixmap, QImage |
16 from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply |
16 from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply |
17 from PyQt5.QtWebEngineWidgets import QWebEngineScript |
17 from PyQt5.QtWebEngineWidgets import QWebEngineScript |
18 |
18 |
282 return |
282 return |
283 |
283 |
284 if self.__fileName not in self.__fileWatcher.files(): |
284 if self.__fileName not in self.__fileWatcher.files(): |
285 self.__fileWatcher.addPath(self.__fileName) |
285 self.__fileWatcher.addPath(self.__fileName) |
286 |
286 |
287 rx = QRegExp("// ==UserScript==(.*)// ==/UserScript==") |
287 rx = re.compile("// ==UserScript==(.*)// ==/UserScript==") |
288 rx.indexIn(fileData) |
288 match = rx.search(fileData) |
289 metaDataBlock = rx.cap(1).strip() |
289 if match is None: |
290 |
290 # invalid script file |
|
291 return |
|
292 |
|
293 metaDataBlock = match.group(1).strip() |
291 if metaDataBlock == "": |
294 if metaDataBlock == "": |
292 # invalid script file |
295 # invalid script file |
293 return |
296 return |
294 |
297 |
295 for line in metaDataBlock.splitlines(): |
298 for line in metaDataBlock.splitlines(): |