forked from leovan/SciHubEVA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
scihub_captcha.py
37 lines (27 loc) · 1.05 KB
/
scihub_captcha.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging
from PySide2.QtCore import QObject, Slot, Signal
from PySide2.QtQml import QQmlApplicationEngine
class SciHubCaptcha(QObject):
showWindowCaptcha = Signal(str)
def __init__(self, parent, log=None):
super(SciHubCaptcha, self).__init__()
self._parent = parent
self.log = log
self._engine = QQmlApplicationEngine()
self._engine.load('qrc:/ui/SciHubEVACaptcha.qml')
self._window = self._engine.rootObjects()[0]
self._connect()
def _connect(self):
# Connect QML signals to PyQt slots
self._window.killCaptcha.connect(self.killCaptcha)
# Connect PyQt signals to QML slots
self.showWindowCaptcha.connect(self._window.showWindowCaptcha)
@Slot(bool, str)
def killCaptcha(self, kill, captcha):
if kill:
self._parent.rampage_with_captcha(captcha)
else:
self.log(self.tr('Battle canceled, rampage again?'), logging.ERROR)
self._parent.afterRampage.emit()