2023-10-25 14:14:08 -04:00

37 lines
1.9 KiB
Python

import subprocess
import shutil
import os
import random
import pandas as pd
#Note that this script doesn't work inside protected Windows folders (such as "Documents")
#Generate a 4 digit password that they must type in as a sort of ultimate "confirmation" requirement
password="Reset{:04d}".format(random.randint(0,10000))
inStr=input('Are you sure? Type "'+password+'" to reset the state of the databases and files to the "start-of-semester-state"\nThis action cannot be undone!\n')
if inStr==password:
subprocess.call(['cmd','/c',"python sectionCSVHelper.py"],shell=True)#run sectionCSVHelper
shutil.copy("sectionsDatabase.csv", "sectionsDatabase_Orig.csv")#copy the newly generated sections database to the _orig file for reference by the section viewer
shutil.copy("startOfSemesterInputs\\blankArchivedSubRequests.csv","archivedSubRequests.csv")# copy the blank archive over to the real one (to put the column headers in place)
with open("lastUpdatedToken.txt", 'w') as f:# set the lastUpdatedToken to a date in the past so that all requests are "more recent"
f.write("2022-10-04 15:15:51.231447")
#Read the requests log and write only the first line of it back (to clear all other lines)
with open('substitutionRequestForm.csv', 'r') as fin:
data = fin.read().splitlines(True)
with open('substitutionRequestForm.csv', 'w') as fout:
fout.writelines(data[:1])
#Set all the 'counts' to zero for all staff.
stfD = pd.read_csv("staffDatabase.csv",dtype=str,index_col=False)
stfD['Approved Substitutions'].values[:]=0
stfD['Accepted Substitutions'].values[:]=0
stfD['Rejected Substitutions'].values[:]=0
stfD['Cancelled Substitutions'].values[:]=0
stfD['Fulfilled Substitutions'].values[:]=0
stfD.to_csv("staffDatabase.csv",index=False,index_label=False)
else:
print('You typed somethinge other than '+password+'. Exiting')