can choose store
This commit is contained in:
@@ -0,0 +1,63 @@
|
|||||||
|
import PySimpleGUI as sg
|
||||||
|
|
||||||
|
# First the window layout in 2 columns
|
||||||
|
from main import start_book
|
||||||
|
|
||||||
|
KEY_CHOOSE_STORE = "CHOOSE_STORE"
|
||||||
|
KEY_START_NUMBER = "KEY_START_NUMBER"
|
||||||
|
KEY_END_NUMBER = "KEY_END_NUMBER"
|
||||||
|
KEY_MAX_WORKERS = "KEY_MAX_WORKERS"
|
||||||
|
KEY_RANDOM = "KEY_RANDOM"
|
||||||
|
KEY_FAUBOURG = "KEY_FAUBOURG"
|
||||||
|
KEY_GEORGE = "KEY_GEORGE"
|
||||||
|
KEY_SEVRES = "KEY_SEVRES"
|
||||||
|
GROUP_STORE = "STORE"
|
||||||
|
|
||||||
|
file_list_column = [
|
||||||
|
[sg.Text('请输入联系人表的起始和结束行')],
|
||||||
|
[sg.Text('起始行', size=(15, 1)), sg.InputText(tooltip="起始行", key=KEY_START_NUMBER)],
|
||||||
|
[sg.Text('结束行', size=(15, 1)), sg.InputText(tooltip="结束行", key=KEY_END_NUMBER)],
|
||||||
|
[sg.Text('并发数', size=(15, 1)), sg.InputText(tooltip="结束行", key=KEY_MAX_WORKERS, default_text=10)],
|
||||||
|
[sg.Submit(button_text="运行", key="submit")]
|
||||||
|
]
|
||||||
|
# For now will only show the name of the file that was chosen
|
||||||
|
settings_column = [
|
||||||
|
[sg.Text("目标商店")],
|
||||||
|
[sg.Radio('随机', group_id=GROUP_STORE, key=KEY_RANDOM, default=True)],
|
||||||
|
[sg.Radio('Hermès Faubourg Saint-Honoré', group_id=GROUP_STORE, key=KEY_FAUBOURG, default=False)],
|
||||||
|
[sg.Radio('Hermès George V', group_id=GROUP_STORE, key=KEY_GEORGE, default=False)],
|
||||||
|
[sg.Radio('Hermès Sèvres', group_id=GROUP_STORE, key=KEY_SEVRES, default=False)]
|
||||||
|
]
|
||||||
|
# ----- Full layout -----
|
||||||
|
layout = [
|
||||||
|
[
|
||||||
|
sg.Column(file_list_column),
|
||||||
|
sg.Column(settings_column)
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
window = sg.Window("爱马仕约会", layout)
|
||||||
|
|
||||||
|
while True:
|
||||||
|
event, values = window.read()
|
||||||
|
print(event)
|
||||||
|
print(values)
|
||||||
|
if event == "submit":
|
||||||
|
try:
|
||||||
|
start_line = int(values[KEY_START_NUMBER])
|
||||||
|
end_line = int(values[KEY_END_NUMBER])
|
||||||
|
max_workers = int(values[KEY_MAX_WORKERS])
|
||||||
|
store_type = 0
|
||||||
|
if values[KEY_FAUBOURG]:
|
||||||
|
store_type = 1
|
||||||
|
elif values[KEY_GEORGE]:
|
||||||
|
store_type = 2
|
||||||
|
elif values[KEY_SEVRES]:
|
||||||
|
store_type = 3
|
||||||
|
start_book(start_line, end_line, store_choose_state=store_type, max_workers=max_workers)
|
||||||
|
except Exception as error:
|
||||||
|
print("Not Integer: ")
|
||||||
|
print(error)
|
||||||
|
|
||||||
|
elif event == "Exit" or event == sg.WIN_CLOSED:
|
||||||
|
break
|
||||||
@@ -14,17 +14,16 @@ logger = logging.getLogger()
|
|||||||
logger.addHandler(logging.StreamHandler(stream=sys.stdout))
|
logger.addHandler(logging.StreamHandler(stream=sys.stdout))
|
||||||
|
|
||||||
|
|
||||||
def start_book(start_number, end_number, store=0):
|
def start_book(start_number, end_number, store_choose_state=0, max_workers=10):
|
||||||
# read the contact, and contact the 2 objects together
|
# read the contact, and contact the 2 objects together
|
||||||
excel_reader = ExcelHelper()
|
excel_reader = ExcelHelper()
|
||||||
contacts = excel_reader.read_contacts()[start_number - 1: end_number]
|
contacts = excel_reader.read_contacts()[start_number - 1: end_number]
|
||||||
print(contacts)
|
logger.info(contacts)
|
||||||
with ThreadPoolExecutor(max_workers=1) as executor:
|
with ThreadPoolExecutor(max_workers=max_workers) as executor:
|
||||||
for contact in contacts:
|
for contact in contacts:
|
||||||
proxy = get_proxy(contact.phone)
|
proxy = get_proxy(contact.phone)
|
||||||
commandor = CommandorPage(contact, store_type=store)
|
|
||||||
# start the task in thread
|
# start the task in thread
|
||||||
executor.submit(commandor.start_page, proxy)
|
executor.submit(CommandorPage(contact, store_type=store_choose_state).start_page, proxy)
|
||||||
|
|
||||||
|
|
||||||
def get_proxy(phone_number):
|
def get_proxy(phone_number):
|
||||||
@@ -41,4 +40,4 @@ def get_proxy(phone_number):
|
|||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# 修改联系人行,结束联系人行 第三个参数store等于0的时候是随机,传入1的时候是总店
|
# 修改联系人行,结束联系人行 第三个参数store等于0的时候是随机,传入1的时候是总店
|
||||||
start_book(1, 1, store=0)
|
start_book(1, 1, store_choose_state=0)
|
||||||
|
|||||||
@@ -47,6 +47,15 @@ class CommandorPage:
|
|||||||
self.logger = logging.getLogger("CommandorPage")
|
self.logger = logging.getLogger("CommandorPage")
|
||||||
self.is_finished = False
|
self.is_finished = False
|
||||||
self.contact = contact
|
self.contact = contact
|
||||||
|
# 0: random
|
||||||
|
# 1: faubourg
|
||||||
|
# 2: George
|
||||||
|
# 3: Sèvres
|
||||||
|
self.store_map = {
|
||||||
|
1: "faubourg",
|
||||||
|
2: "georgev",
|
||||||
|
3: "sevres"
|
||||||
|
}
|
||||||
self.store_type = store_type
|
self.store_type = store_type
|
||||||
|
|
||||||
def on_success(self, result: ReserveResultPojo):
|
def on_success(self, result: ReserveResultPojo):
|
||||||
@@ -159,10 +168,11 @@ class CommandorPage:
|
|||||||
document.getElementById("phone_country").focus();
|
document.getElementById("phone_country").focus();
|
||||||
document.getElementById("phone_country").value = \"FR\" }""")
|
document.getElementById("phone_country").value = \"FR\" }""")
|
||||||
else:
|
else:
|
||||||
self.page.evaluate("""()=>{
|
store_to_choose = self.store_map[self.store_type]
|
||||||
document.getElementById("prefer").value = \"faubourg\";
|
self.page.evaluate("""(store_to_choose)=>{
|
||||||
|
document.getElementById("prefer").value = store_to_choose;
|
||||||
document.getElementById("phone_country").focus();
|
document.getElementById("phone_country").focus();
|
||||||
document.getElementById("phone_country").value = \"FR\" }""")
|
document.getElementById("phone_country").value = \"FR\" }""", store_to_choose)
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
self.logger.error(error)
|
self.logger.error(error)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user