mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-28 08:04:13 +08:00
perf
This commit is contained in:
parent
6e431ec5a3
commit
ee473c30a0
@ -821,7 +821,6 @@ class hookselect(closeashidewindow):
|
||||
return
|
||||
|
||||
if gobject.baseobject.textsource:
|
||||
print(hookcode)
|
||||
gobject.baseobject.textsource.inserthook(hookcode)
|
||||
self.tabwidget.setCurrentIndex(1)
|
||||
else:
|
||||
@ -897,7 +896,6 @@ class hookselect(closeashidewindow):
|
||||
if select:
|
||||
gobject.baseobject.textsource.selectedhook.append(key)
|
||||
|
||||
print(key)
|
||||
if key[-2][:8] == "UserHook":
|
||||
needinserthookcode = savehook_new_data[
|
||||
gobject.baseobject.textsource.pname
|
||||
|
@ -76,21 +76,22 @@ class QGraphicsDropShadowEffect_multi(QGraphicsDropShadowEffect):
|
||||
super().draw(painter)
|
||||
|
||||
|
||||
class PlainLabel(QLabel):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.setTextFormat(Qt.PlainText)
|
||||
|
||||
class BorderedLabel(QLabel):
|
||||
def move(self, point: QPoint):
|
||||
text = self.text()
|
||||
isarabic = any((ord(char) >= 0x0600 and ord(char) <= 0x06E0) for char in text)
|
||||
if isarabic:
|
||||
point.setX(point.x() - self.width())
|
||||
|
||||
point.setX(int(point.x() - self.m_fontOutLineWidth))
|
||||
point.setY(int(point.y() - self.m_fontOutLineWidth))
|
||||
super().move(point)
|
||||
|
||||
def clearShadow(self):
|
||||
self.setGraphicsEffect(None)
|
||||
|
||||
def setShadow(self, colorshadow, width=1, deepth=1, trace=False):
|
||||
|
||||
class ShadowLabel(PlainLabel):
|
||||
def setShadow(self, colorshadow, width, deepth, trace=False):
|
||||
shadow2 = QGraphicsDropShadowEffect_multi(deepth)
|
||||
if trace:
|
||||
shadow2.setBlurRadius(width)
|
||||
@ -101,9 +102,6 @@ class ShadowLabel(PlainLabel):
|
||||
shadow2.setColor(QColor(colorshadow))
|
||||
self.setGraphicsEffect(shadow2)
|
||||
|
||||
|
||||
class BorderedLabel(ShadowLabel):
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.m_outLineColor = QColor()
|
||||
@ -120,17 +118,14 @@ class BorderedLabel(ShadowLabel):
|
||||
self._m_text = text
|
||||
|
||||
def setColorWidth(self, outLineColor, contentColor, width, _type=0):
|
||||
|
||||
self.m_outLineColor = QColor(outLineColor)
|
||||
self.m_contentColor = QColor(contentColor)
|
||||
self.m_fontOutLineWidth = width
|
||||
self._type = _type
|
||||
|
||||
def move(self, point: QPoint):
|
||||
point.setX(int(point.x() - self.m_fontOutLineWidth))
|
||||
point.setY(int(point.y() - self.m_fontOutLineWidth))
|
||||
super().move(point)
|
||||
|
||||
def adjustSize(self):
|
||||
self._pix = None
|
||||
font = self.font()
|
||||
text = self.text()
|
||||
font_m = QFontMetrics(font)
|
||||
@ -139,6 +134,30 @@ class BorderedLabel(ShadowLabel):
|
||||
int(font_m.height() + 2 * self.m_fontOutLineWidth),
|
||||
)
|
||||
|
||||
def labelresetcolor(self, color, rate=1):
|
||||
c1 = color
|
||||
c2 = globalconfig["miaobiancolor"]
|
||||
if globalconfig["zitiyangshi2"] == 2:
|
||||
self.setColorWidth(c1, c2, rate * globalconfig["miaobianwidth2"])
|
||||
self.clearShadow()
|
||||
elif globalconfig["zitiyangshi2"] == 3:
|
||||
self.setColorWidth(c2, c1, rate * globalconfig["miaobianwidth2"])
|
||||
self.clearShadow()
|
||||
elif globalconfig["zitiyangshi2"] == 1:
|
||||
self.setColorWidth(c1, c2, rate * globalconfig["miaobianwidth"], 1)
|
||||
self.clearShadow()
|
||||
elif globalconfig["zitiyangshi2"] == 4:
|
||||
self.setColorWidth(c2, c1, rate * globalconfig["miaobianwidth2"])
|
||||
self.setShadow(c2, rate * globalconfig["traceoffset"], 1, True)
|
||||
elif globalconfig["zitiyangshi2"] == 0:
|
||||
self.setColorWidth(None, c1, 0, 2)
|
||||
self.clearShadow()
|
||||
elif globalconfig["zitiyangshi2"] == 5:
|
||||
self.setColorWidth(None, c2, 0, 2)
|
||||
self.setShadow(
|
||||
c1, rate * globalconfig["fontsize"], globalconfig["shadowforce"]
|
||||
)
|
||||
|
||||
def paintEvent(self, event):
|
||||
if not self._pix:
|
||||
rate = self.devicePixelRatioF()
|
||||
@ -150,30 +169,39 @@ class BorderedLabel(ShadowLabel):
|
||||
font_m = QFontMetrics(font)
|
||||
painter = QPainter(self._pix)
|
||||
|
||||
path = QPainterPath()
|
||||
path.addText(
|
||||
self.m_fontOutLineWidth,
|
||||
self.m_fontOutLineWidth + font_m.ascent(),
|
||||
font,
|
||||
text,
|
||||
)
|
||||
|
||||
pen = QPen(
|
||||
self.m_outLineColor,
|
||||
self.m_fontOutLineWidth,
|
||||
Qt.SolidLine,
|
||||
Qt.RoundCap,
|
||||
Qt.RoundJoin,
|
||||
)
|
||||
|
||||
painter.setRenderHint(QPainter.Antialiasing)
|
||||
if self._type == 0:
|
||||
painter.strokePath(path, pen)
|
||||
painter.fillPath(path, QBrush(self.m_contentColor))
|
||||
elif self._type == 1:
|
||||
painter.fillPath(path, QBrush(self.m_contentColor))
|
||||
painter.strokePath(path, pen)
|
||||
path = QPainterPath()
|
||||
if self._type == 2:
|
||||
|
||||
path.addText(
|
||||
0,
|
||||
font_m.ascent(),
|
||||
font,
|
||||
text,
|
||||
)
|
||||
painter.fillPath(path, QBrush(self.m_contentColor))
|
||||
else:
|
||||
path.addText(
|
||||
self.m_fontOutLineWidth,
|
||||
self.m_fontOutLineWidth + font_m.ascent(),
|
||||
font,
|
||||
text,
|
||||
)
|
||||
|
||||
pen = QPen(
|
||||
self.m_outLineColor,
|
||||
self.m_fontOutLineWidth,
|
||||
Qt.SolidLine,
|
||||
Qt.RoundCap,
|
||||
Qt.RoundJoin,
|
||||
)
|
||||
|
||||
if self._type == 0:
|
||||
painter.strokePath(path, pen)
|
||||
painter.fillPath(path, QBrush(self.m_contentColor))
|
||||
elif self._type == 1:
|
||||
painter.fillPath(path, QBrush(self.m_contentColor))
|
||||
painter.strokePath(path, pen)
|
||||
painter = QPainter(self)
|
||||
painter.drawPixmap(0, 0, self._pix)
|
||||
|
||||
@ -235,6 +263,7 @@ class Textbrowser(QLabel):
|
||||
self.backcolorlabels = []
|
||||
|
||||
self.yinyinglabels = []
|
||||
self.yinyinglabels_idx = 0
|
||||
|
||||
self.yinyingpos = 0
|
||||
self.yinyingposline = 0
|
||||
@ -308,10 +337,10 @@ class Textbrowser(QLabel):
|
||||
|
||||
def showyinyingtext2(self, color, iter_context_class, pos, text):
|
||||
if iter_context_class not in self.iteryinyinglabelsave:
|
||||
self.iteryinyinglabelsave[iter_context_class] = []
|
||||
self.iteryinyinglabelsave[iter_context_class] = [[], 0]
|
||||
maxh = 0
|
||||
maxh2 = 9999999
|
||||
for label in self.iteryinyinglabelsave[iter_context_class]:
|
||||
for label in self.iteryinyinglabelsave[iter_context_class][0]:
|
||||
maxh2 = min(label.pos().y(), maxh2)
|
||||
if label.isVisible() == False:
|
||||
continue
|
||||
@ -334,14 +363,23 @@ class Textbrowser(QLabel):
|
||||
|
||||
maxnewh = 0
|
||||
for i in range(len(subtext)):
|
||||
if self.iteryinyinglabelsave[iter_context_class][1] >= len(
|
||||
self.iteryinyinglabelsave[iter_context_class][0]
|
||||
):
|
||||
self.iteryinyinglabelsave[iter_context_class][0].append(
|
||||
BorderedLabel(self.toplabel2)
|
||||
)
|
||||
maxnewh = max(maxnewh, subpos[i].y())
|
||||
_ = self.guesscreatelabel(self.toplabel2, color)
|
||||
_ = self.iteryinyinglabelsave[iter_context_class][0][
|
||||
self.iteryinyinglabelsave[iter_context_class][1]
|
||||
]
|
||||
_.labelresetcolor(color)
|
||||
_.setText(subtext[i])
|
||||
_.setFont(self.font)
|
||||
_.adjustSize()
|
||||
_.move(subpos[i])
|
||||
_.show()
|
||||
self.iteryinyinglabelsave[iter_context_class].append(_)
|
||||
self.iteryinyinglabelsave[iter_context_class][1] += 1
|
||||
if maxh:
|
||||
if maxnewh == 0:
|
||||
maxnewh = maxh2
|
||||
@ -353,7 +391,7 @@ class Textbrowser(QLabel):
|
||||
for klass in self.iteryinyinglabelsave:
|
||||
if klass == iter_context_class:
|
||||
continue
|
||||
for label in self.iteryinyinglabelsave[klass]:
|
||||
for label in self.iteryinyinglabelsave[klass][0]:
|
||||
if label.isVisible() == False:
|
||||
continue
|
||||
if label.pos().y() > maxh:
|
||||
@ -379,13 +417,16 @@ class Textbrowser(QLabel):
|
||||
self.textbrowser.setTextCursor(self.textcursor)
|
||||
tl1 = self.textbrowser.cursorRect(self.textcursor).topLeft()
|
||||
|
||||
_ = self.guesscreatelabel(self.toplabel2, color)
|
||||
if self.yinyinglabels_idx >= len(self.yinyinglabels):
|
||||
self.yinyinglabels.append(BorderedLabel(self.toplabel2))
|
||||
_ = self.yinyinglabels[self.yinyinglabels_idx]
|
||||
self.yinyinglabels_idx += 1
|
||||
_.labelresetcolor(color)
|
||||
_.setText(block.text()[s : s + l])
|
||||
_.setFont(self.font)
|
||||
_.adjustSize()
|
||||
_.move(tl1)
|
||||
_.show()
|
||||
self.yinyinglabels.append(_)
|
||||
linei += 1
|
||||
self.yinyingposline = linei
|
||||
|
||||
@ -575,6 +616,7 @@ class Textbrowser(QLabel):
|
||||
self.textbrowser.setTextCursor(self.textcursor)
|
||||
x = self.nearmerge(x, pos, fonthira, fontorig)
|
||||
self.settextposcursor(pos)
|
||||
savetaglabels_idx = 0
|
||||
for word in x:
|
||||
l = len(word["orig"])
|
||||
|
||||
@ -589,9 +631,12 @@ class Textbrowser(QLabel):
|
||||
# print(tl1,tl2,word['hira'],self.textbrowser.textCursor().position())
|
||||
if word["orig"] == " ":
|
||||
continue
|
||||
self.savetaglabels.append(
|
||||
self.solvejiaminglabel(word, fonthira, tl1, tl2, fascent)
|
||||
if savetaglabels_idx >= len(self.savetaglabels):
|
||||
self.savetaglabels.append(BorderedLabel(self.atback2))
|
||||
self.solvejiaminglabel(
|
||||
self.savetaglabels[savetaglabels_idx], word, fonthira, tl1, tl2, fascent
|
||||
)
|
||||
savetaglabels_idx += 1
|
||||
|
||||
def settextposcursor(self, pos):
|
||||
self.textcursor.setPosition(pos)
|
||||
@ -663,39 +708,8 @@ class Textbrowser(QLabel):
|
||||
self.settextposcursor(startpos)
|
||||
return res
|
||||
|
||||
def guesscreatelabel(self, p, color, rate=1):
|
||||
c1 = color
|
||||
c2 = globalconfig["miaobiancolor"]
|
||||
if globalconfig["zitiyangshi2"] == 2:
|
||||
label = BorderedLabel(p)
|
||||
label.setColorWidth(c1, c2, rate * globalconfig["miaobianwidth2"])
|
||||
|
||||
elif globalconfig["zitiyangshi2"] == 3:
|
||||
label = BorderedLabel(p)
|
||||
label.setColorWidth(c2, c1, rate * globalconfig["miaobianwidth2"])
|
||||
elif globalconfig["zitiyangshi2"] == 1:
|
||||
|
||||
label = BorderedLabel(p)
|
||||
label.setColorWidth(c1, c2, rate * globalconfig["miaobianwidth"], 1)
|
||||
elif globalconfig["zitiyangshi2"] == 4:
|
||||
label = BorderedLabel(p)
|
||||
label.setColorWidth(c2, c1, rate * globalconfig["miaobianwidth2"])
|
||||
label.setShadow(c2, rate * globalconfig["traceoffset"], 1, True)
|
||||
elif globalconfig["zitiyangshi2"] == 0:
|
||||
label = PlainLabel(p)
|
||||
label.setStyleSheet("color:{}; background-color:(0,0,0,0)".format(c1))
|
||||
elif globalconfig["zitiyangshi2"] == 5:
|
||||
label = ShadowLabel(p)
|
||||
label.setStyleSheet("color:{}; background-color:(0,0,0,0)".format(c2))
|
||||
label.setShadow(
|
||||
c1, rate * globalconfig["fontsize"], globalconfig["shadowforce"]
|
||||
)
|
||||
return label
|
||||
|
||||
def solvejiaminglabel(self, word, font, tl1, tl2, fh):
|
||||
_ = self.guesscreatelabel(
|
||||
self.atback2, globalconfig["jiamingcolor"], rate=globalconfig["kanarate"]
|
||||
)
|
||||
def solvejiaminglabel(self, _: BorderedLabel, word, font, tl1, tl2, fh):
|
||||
_.labelresetcolor(globalconfig["jiamingcolor"], rate=globalconfig["kanarate"])
|
||||
_.setText(word["hira"])
|
||||
_.setFont(font)
|
||||
_.adjustSize()
|
||||
@ -725,22 +739,16 @@ class Textbrowser(QLabel):
|
||||
for label in self.searchmasklabels_clicked:
|
||||
label.hide()
|
||||
for label in self.savetaglabels:
|
||||
label.deleteLater()
|
||||
del label
|
||||
self.savetaglabels.clear()
|
||||
label.hide()
|
||||
|
||||
self.yinyinglabels_idx = 0
|
||||
for label in self.yinyinglabels:
|
||||
label.deleteLater()
|
||||
del label
|
||||
self.yinyinglabels.clear()
|
||||
label.hide()
|
||||
for klass, labels in self.iteryinyinglabelsave.items():
|
||||
for label in labels:
|
||||
label.deleteLater()
|
||||
del label
|
||||
self.iteryinyinglabelsave.clear()
|
||||
for label in labels[0]:
|
||||
label.hide()
|
||||
labels[1] = 0
|
||||
self.yinyingpos = 0
|
||||
self.yinyingposline = 0
|
||||
self.cleared = True
|
||||
self.textbrowser.setText("")
|
||||
|
||||
# self.shadowlabel.setText('')
|
||||
# self.shadowlabel.savetext=''
|
||||
self.textbrowser.clear()
|
||||
|
@ -5,19 +5,12 @@ from network.requests_common import *
|
||||
from traceback import print_exc
|
||||
|
||||
|
||||
class autostatus:
|
||||
def __init__(self, ref) -> None:
|
||||
self.ref = ref
|
||||
ref._status = 1
|
||||
|
||||
def __del__(self):
|
||||
self.ref._status = 0
|
||||
|
||||
|
||||
class Response(ResponseBase):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.last_error = 0
|
||||
self.keeprefs = []
|
||||
self.queue = queue.Queue()
|
||||
|
||||
def iter_content_impl(self, chunk_size=1):
|
||||
|
||||
@ -62,15 +55,6 @@ def ExceptionFilter(func):
|
||||
|
||||
class Session(Sessionbase):
|
||||
|
||||
def __init__(self) -> None:
|
||||
super().__init__()
|
||||
self._status = 0
|
||||
self.curl = AutoCURLHandle(curl_easy_init())
|
||||
curl_easy_setopt(self.curl, CURLoption.CURLOPT_COOKIEJAR, "")
|
||||
curl_easy_setopt(
|
||||
self.curl, CURLoption.CURLOPT_USERAGENT, self.UA.encode("utf8")
|
||||
)
|
||||
|
||||
def raise_for_status(self):
|
||||
if self.last_error:
|
||||
raise CURLException(self.last_error)
|
||||
@ -120,18 +104,14 @@ class Session(Sessionbase):
|
||||
verify,
|
||||
timeout,
|
||||
):
|
||||
|
||||
if self._status == 0:
|
||||
curl = self.curl
|
||||
__ = autostatus(self)
|
||||
curl = AutoCURLHandle(curl_easy_init())
|
||||
curl_easy_setopt(curl, CURLoption.CURLOPT_COOKIEJAR, "")
|
||||
curl_easy_setopt(curl, CURLoption.CURLOPT_USERAGENT, self.UA.encode("utf8"))
|
||||
if cookies:
|
||||
cookies.update(self.cookies)
|
||||
else:
|
||||
# 不能多线程同时复用同一个curl对象
|
||||
curl = AutoCURLHandle(curl_easy_duphandle(self.curl))
|
||||
if cookies:
|
||||
cookies.update(self.cookies)
|
||||
else:
|
||||
cookies = self.cookies
|
||||
curl_easy_reset(curl)
|
||||
cookies = self.cookies
|
||||
|
||||
if cookies:
|
||||
cookie = self._parsecookie(cookies)
|
||||
curl_easy_setopt(curl, CURLoption.CURLOPT_COOKIE, cookie.encode("utf8"))
|
||||
@ -171,7 +151,7 @@ class Session(Sessionbase):
|
||||
curl_easy_setopt(curl, CURLoption.CURLOPT_POSTFIELDSIZE, datalen)
|
||||
|
||||
resp = Response()
|
||||
|
||||
resp.keeprefs.append(curl)
|
||||
if stream:
|
||||
|
||||
def WriteMemoryCallback(queue, contents, size, nmemb, userp):
|
||||
@ -181,25 +161,23 @@ class Session(Sessionbase):
|
||||
|
||||
_content = []
|
||||
_headers = []
|
||||
resp.queue = queue.Queue()
|
||||
headerqueue = queue.Queue()
|
||||
resp.keepref1 = WRITEFUNCTION(
|
||||
functools.partial(WriteMemoryCallback, resp.queue)
|
||||
)
|
||||
resp.keepref2 = WRITEFUNCTION(
|
||||
keepref1 = WRITEFUNCTION(functools.partial(WriteMemoryCallback, resp.queue))
|
||||
keepref2 = WRITEFUNCTION(
|
||||
functools.partial(WriteMemoryCallback, headerqueue)
|
||||
)
|
||||
curl_easy_setopt(
|
||||
curl,
|
||||
CURLoption.CURLOPT_WRITEFUNCTION,
|
||||
cast(resp.keepref1, c_void_p).value,
|
||||
cast(keepref1, c_void_p).value,
|
||||
)
|
||||
|
||||
curl_easy_setopt(
|
||||
curl,
|
||||
CURLoption.CURLOPT_HEADERFUNCTION,
|
||||
cast(resp.keepref2, c_void_p).value,
|
||||
cast(keepref2, c_void_p).value,
|
||||
)
|
||||
resp.keeprefs += [keepref1, keepref2]
|
||||
|
||||
def ___perform():
|
||||
error = False
|
||||
@ -250,29 +228,25 @@ class Session(Sessionbase):
|
||||
|
||||
_content = []
|
||||
_headers = []
|
||||
resp.keepref1 = WRITEFUNCTION(
|
||||
functools.partial(WriteMemoryCallback, _content)
|
||||
)
|
||||
resp.keepref2 = WRITEFUNCTION(
|
||||
functools.partial(WriteMemoryCallback, _headers)
|
||||
)
|
||||
keepref1 = WRITEFUNCTION(functools.partial(WriteMemoryCallback, _content))
|
||||
keepref2 = WRITEFUNCTION(functools.partial(WriteMemoryCallback, _headers))
|
||||
|
||||
curl_easy_setopt(
|
||||
curl,
|
||||
CURLoption.CURLOPT_WRITEFUNCTION,
|
||||
cast(resp.keepref1, c_void_p).value,
|
||||
cast(keepref1, c_void_p).value,
|
||||
)
|
||||
curl_easy_setopt(
|
||||
curl,
|
||||
CURLoption.CURLOPT_HEADERFUNCTION,
|
||||
cast(resp.keepref2, c_void_p).value,
|
||||
cast(keepref2, c_void_p).value,
|
||||
)
|
||||
|
||||
resp.keeprefs += [keepref1, keepref2]
|
||||
self._perform(curl)
|
||||
resp.content = b"".join(_content)
|
||||
resp.headers = self._update_header_cookie(b"".join(_headers).decode("utf8"))
|
||||
resp.status_code = self._getStatusCode(curl)
|
||||
|
||||
|
||||
resp.last_error = self.last_error
|
||||
resp.cookies = self.cookies
|
||||
return resp
|
||||
|
@ -234,8 +234,6 @@ class texthook(basetext):
|
||||
dll = os.path.abspath(
|
||||
"./files/plugins/LunaHook/LunaHook{}.dll".format(arch)
|
||||
)
|
||||
print(injecter, os.path.exists(injecter))
|
||||
print(dll, os.path.exists(dll))
|
||||
# subprocess.Popen('"{}" dllinject {} "{}"'.format(injecter,pid,dll))
|
||||
injectdll(injectpids, injecter, dll)
|
||||
|
||||
|
@ -12,5 +12,5 @@ class TS(basetransdev):
|
||||
)
|
||||
)
|
||||
return self.wait_for_result(
|
||||
r"""document.evaluate('//*[@id="headlessui-tabs-panel-7"]/div/div[1]/section/div/div[2]/div[3]/section/div[1]/d-textarea/div',document).iterateNext().textContent"""
|
||||
r"""document.querySelector("#textareasContainer > div.rounded-ee-inherit.relative.min-h-\\[240px\\].min-w-0.md\\:min-h-\\[clamp\\(250px\\,50vh\\,557px\\)\\].mobile\\:min-h-0.mobile\\:flex-1.max-\\[768px\\]\\:min-h-\\[375px\\] > section > div.rounded-inherit.mobile\\:min-h-0.relative.flex.flex-1.flex-col > d-textarea").textContent"""
|
||||
)
|
||||
|
@ -5,9 +5,11 @@ class TS(basetransdev):
|
||||
target_url = "https://fanyi.youdao.com/"
|
||||
|
||||
def translate(self, content):
|
||||
|
||||
self.Runtime_evaluate(
|
||||
'(a=document.querySelector("#TextTranslate > div.source > a"))?a.click():"";i=document.querySelector("#js_fanyi_input");i.innerText=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});i.dispatchEvent(event);'.format(
|
||||
'document.querySelector("#TextTranslate > div.source > div.text-translate-top-right > a").click()'
|
||||
)
|
||||
self.Runtime_evaluate(
|
||||
'i=document.querySelector("#js_fanyi_input");i.innerText=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});i.dispatchEvent(event);'.format(
|
||||
content
|
||||
)
|
||||
)
|
||||
|
@ -21,11 +21,7 @@ class TS(basetrans):
|
||||
# self.url=self.config['host']+'_next/data/{}/%s/%s/%s.json'.format(_id)
|
||||
def translate(self, content):
|
||||
# print(self.url%(self.srclang,self.tgtlang,urllib.parse.quote(content)))
|
||||
print(
|
||||
"https://"
|
||||
+ self.config["host"]
|
||||
+ "/api/v1/%s/%s/%s" % (self.srclang, self.tgtlang, quote_plus(content))
|
||||
)
|
||||
|
||||
x = self.session.get(
|
||||
"https://"
|
||||
+ self.config["host"]
|
||||
|
@ -29,8 +29,10 @@ class TS(basetransdev):
|
||||
else:
|
||||
tgtidx = 1
|
||||
self.Runtime_evaluate(
|
||||
"""document.querySelector('div.textpanel-tool.tool-close').click();
|
||||
document.querySelector("#language-button-group-source > div.language-button-dropdown.language-source > ul > li:nth-child(1) > span").click();
|
||||
'document.querySelector("div.textpanel-tool.tool-close").click()'
|
||||
)
|
||||
self.Runtime_evaluate(
|
||||
"""document.querySelector("#language-button-group-source > div.language-button-dropdown.language-source > ul > li:nth-child(1) > span").click();
|
||||
document.querySelector("#language-button-group-target > div.language-button-dropdown.language-target > ul > li:nth-child({}) > span");
|
||||
document.getElementsByClassName('textinput')[0].value=`{}`;
|
||||
document.getElementsByClassName('language-translate-button')[0].click();
|
||||
|
@ -29,7 +29,7 @@ include(generate_product_version)
|
||||
|
||||
set(VERSION_MAJOR 2)
|
||||
set(VERSION_MINOR 52)
|
||||
set(VERSION_PATCH 5)
|
||||
set(VERSION_PATCH 6)
|
||||
|
||||
add_library(pch pch.cpp)
|
||||
target_precompile_headers(pch PUBLIC pch.h)
|
||||
|
Loading…
x
Reference in New Issue
Block a user