更新 下载小闲答题数据.py

This commit is contained in:
weiye.wang 2024-03-31 21:05:57 +08:00
parent e92845f92e
commit 1de1d923ab
1 changed files with 18 additions and 7 deletions

View File

@ -1,4 +1,5 @@
from PySide6.QtWidgets import QWidget, QApplication, QFileDialog, QTableWidgetItem
from PySide6.QtGui import QColor
from Ui_下载小闲答题数据 import Ui_Form
from selenium import webdriver
from selenium.webdriver.common.by import By
@ -155,9 +156,12 @@ def RenameRecentzip(folder,message): #将folder中最新的zip文件名加上(me
filelist.sort(key = lambda x:os.path.getmtime(os.path.join(folder,x)),reverse = True)
filepath = os.path.join(folder,filelist[0])
renamedfilepath = filepath[:-4]+f"({message}).zip"
os.rename(filepath,renamedfilepath)
print(f"已重命名为: {os.path.split(renamedfilepath)[-1]}")
try:
os.rename(filepath,renamedfilepath)
print(f"已重命名为: {os.path.split(renamedfilepath)[-1]}")
except:
return 1
return 0
def DownloadZips(driver,alist=[]): #下载页面上的指定zip文件
page_info = GetPageInfo(driver)
@ -283,8 +287,10 @@ class MyWindow(QWidget,Ui_Form):
self.homeworklist = GetValidHomeworks(self.driver,self.lineEdit_startdate.text(),self.lineEdit_enddate.text(),self.lineEdit_graderegex.text())
for i in range(len(self.homeworklist)):
self.tableWidget.insertRow(i)
self.tableWidget.setItem(i,0,QTableWidgetItem(self.homeworklist[i][0]))
self.tableWidget.setItem(i,0,QTableWidgetItem(f"{self.homeworklist[i][0]['name']} / {self.homeworklist[i][0]['grade']}"))
self.tableWidget.setItem(i,1,QTableWidgetItem(""))
def exec(self):
i = 0
for hmwk,page in self.homeworklist:
foundhmwk = False
downloaded = False
@ -302,12 +308,17 @@ class MyWindow(QWidget,Ui_Form):
print(f"正在下载 {hmwk['name']} 的 zip 文件")
try:
message = DownloadZipwithDetail(self.driver,hmwkindex)
RenameRecentzip(self.outputfolder,message)
downloaded = True
renamed = RenameRecentzip(self.outputfolder,message)
if renamed == 0:
downloaded = True
self.tableWidget.item(i,1).setBackground(QColor("green"))
QApplication.processEvents()
except:
print(Exception)
if not downloaded:
print(f"@@@@@@未能下载 {hmwk['name']}")
print(f"@@@@@@未能下载并改名 {hmwk['name']}")
self.tableWidget.item(i,1).setBackground(QColor("red"))
i += 1