Created
October 3, 2022 21:20
-
-
Save ItzmeSwapy/c4e05b3cc5b13a050cacf2036ffc31ae to your computer and use it in GitHub Desktop.
pyqt5 with pebble - Error of multiple UI instances
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import openpyxl | |
from functionalities.proxy_livetester import check_proxy | |
from PyQt5 import QtWidgets | |
import sys | |
from pebble import ProcessPool | |
from concurrent.futures import TimeoutError | |
class mywindow(QtWidgets.QMainWindow): | |
group_id_col_number = -1 | |
def __init__(self): | |
super(mywindow, self).__init__() | |
uic.loadUi(r'ui_Files/IAM_MainUI.ui', self) | |
self.data_reload_button_2.clicked.connect(self.testfunc) | |
def proxy_checkers(self,proxy_dict): | |
# checks all the proxies working status and returns good proxies | |
proxies_thread = [] | |
working_proxies = [] | |
proxy_timeout_limit = 100 | |
with ProcessPool() as pool: | |
for x in proxy_dict: | |
proxies_thread.append(pool.submit(check_proxy, proxy_timeout_limit, x)) | |
proxy_failcount = 0 | |
for i, single_proxy_thread in enumerate(proxies_thread): | |
try: | |
proxy_status = single_proxy_thread.result() | |
# print(type(proxy_status), proxy_status) | |
except TimeoutError: | |
print("Proxy Failed %s" % single_proxy_thread) | |
proxy_failcount += 1 | |
if (type(proxy_status) == str): proxy_status = proxy_status.split('|') | |
if proxy_status[1] != 'None': | |
working_proxies.append(proxy_status[0]) | |
else: | |
proxy_failcount += 1 | |
# print(working_proxies) | |
print("Total Working Proxies:", len(working_proxies), "Total Failed Proxies:", proxy_failcount) | |
return working_proxies | |
def proxies(self,proxy_file): | |
wb_obj = openpyxl.load_workbook(proxy_file) | |
sheet_obj = wb_obj.active | |
max_col = sheet_obj.max_column | |
max_row = sheet_obj.max_row | |
proxy_dic = {} | |
for i in range(1, max_row + 1): | |
proxy_id = sheet_obj.cell(row=i, column=1) | |
proxy_reset = sheet_obj.cell(row=i, column=2) | |
proxy_dic[proxy_id.value] = proxy_reset.value | |
return proxy_dic | |
def testfunc(self): | |
proxy_file = r'C:\Bots\Instagram\src\proxies\selected_proxy.xlsx' | |
proxy_dictionary=self.proxies(proxy_file) | |
self.proxy_checkers(proxy_dictionary) | |
app = QtWidgets.QApplication([]) | |
application = mywindow() | |
application.show() | |
sys.exit(app.exec()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment