import sys
import os
from lxml import html
import re
import time
from functions import * # its other python file
from PyQt5 import QtWidgets
from PyQt5.QtCore import *
def check(mail, live_count=0, die_count=0, couldnt_count=0, timeout=60):
liveco, dieco, couldntco = checkMail(mail, live_count, die_count, couldnt_count, timeout)
return liveco, dieco, couldntco
class Window(QtWidgets.QWidget):
def __init__(self):
super(Window,self).__init__()
self.mainWindow()
def mainWindow(self):
global textarea
global gate
global label
self.setWindowTitle("EXE CHECKER")
self.setGeometry(100, 100, 600, 400)
self.setMaximumSize(QSize(600, 400))
gate = QtWidgets.QComboBox()
gate.addItem("MAIL")
textarea = QtWidgets.QTextEdit(self)
textarea.setPlaceholderText("Enter Mails to Check")
button = QtWidgets.QPushButton("Start", self)
button.clicked.connect(self.OnClick)
label = QtWidgets.QLabel(self)
label.setAlignment(Qt.AlignCenter)
label.setText("Result")
layout = QtWidgets.QVBoxLayout(self)
layout.addWidget(gate)
layout.addWidget(textarea)
layout.addWidget(button)
layout.addWidget(label)
self.setLayout(layout)
self.show()
def OnClick(self):
listmail = textarea.toPlainText()
listmail = listmail.split("\n")
gate2 = str(gate.currentText())
now = 1
live_count = 0
die_count = 0
couldnt_count = 0
length = len(listmail)
for mail in listmail:
txt = "%s/%s | Live: %s - Die: %s - Couldn't Check: %s" % (now,length,live_count,die_count,couldnt_count)
label.setText(txt)
try:
live_count, die_count, couldnt_count = check(mail, live_count, die_count, couldnt_count, 60)
except:
try:
live_count, die_count, couldnt_count = check(mail, live_count, die_count, couldnt_count, 120)
except:
continue
txt = "%s/%s | Live: %s - Die: %s - Couldn't Check: %s" % (now,length,live_count,die_count,couldnt_count)
label.setText(txt)
now += 1
print("\nChecking has been finished...")
try:
pycCleaner()
app = QtWidgets.QApplication(sys.argv)
app_win = Window()
sys.exit(app.exec_())
except:
pass
Это изображение для того, как выглядит программа
Я пытался использовать Threading, но я не хочу, чтобы моя программа была моей программой, предназначенной для фильтрации электронной почты из Textarea в pyqt5, поэтому я ввожу так много писем, примерно от 5000 до 10000 писем, чтобы отфильтровать их, так что работа с потоками не работает, поэтому что мне делать? делать?