weverse-script/main.py
2025-02-21 14:58:01 +08:00

65 lines
1.9 KiB
Python

import dao
import sys
import proxy
import w_token
from concurrent.futures import ThreadPoolExecutor, as_completed
import json
f = open('config.json', 'r')
content = f.read()
f.close()
data = json.loads(content)
workers = data["workers"]
def task(aid, username, password):
# proxy_host = proxy.get_proxy()
# t = w_token.get_token(username, password, proxy_host[0], proxy_host[1])
t = w_token.get_token(username, password, None, None)
return [aid, username, t]
def main():
print("输入演出num")
num = input()
r = dao.get_apply(num)
if not r:
print("演出不存在")
sys.exit()
print("演出信息确认:")
print(r[0][2], r[0][3])
t = input("是否确认?(Y/N):")
if t == "N" or t == "n":
sys.exit()
print("请确认人员名单:")
u = dao.get_apply_user(r[0][0])
if not u:
print("人员不存在")
sys.exit()
print("weverse账号 区号 手机号")
for row in u:
print(row[1] + " " + row[2] + " " + row[3])
t = input("是否确认?(Y/N):")
if t == "N" or t == "n":
sys.exit()
count = 0
with ThreadPoolExecutor(max_workers=workers) as executor:
# 提交多个任务给线程池
futures = [executor.submit(task, row[0], row[1], row[4]) for row in u]
# 等待所有任务完成并获取结果
for future in as_completed(futures):
result = future.result()
if not result[2]:
print("applyId:【%s】,username:【%s】获取失败" % (result[0], result[1]))
continue
dao.update_token(result[0], result[2])
count = count + 1
print("applyId:【%s】,username:【%s】获取成功!!!" % (result[0], result[1]))
print("一共【%d】人,成功【%d】人" % (len(u), count))
if __name__ == "__main__":
main()