import sys import os import csv def Power_School(): file_containing_list = "File (File Path)" copy_from_folder = "Folder (File Path)" ErrorDir = copy_from_folder + "_errors" if not os.path.exists(ErrorDir): os.mkdir(ErrorDir) ProcessedDir = copy_from_folder + "_processed" if not os.path.exists(ProcessedDir): os.mkdir(ProcessedDir) errors_txt = os.path.dirname(copy_from_folder) + "/" + os.path.basename(copy_from_folder) + "_errors.txt" processed_txt = os.path.dirname(copy_from_folder) + "/" + os.path.basename(copy_from_folder) + "_processed.txt" with open(file_containing_list) as csvfile: reader = csv.DictReader(csvfile, delimiter = '\t') f1 = open(errors_txt, 'w') f2 = open(processed_txt, 'w') f1writer = csv.writer(f1,delimiter = '\t') f2writer = csv.writer(f2, delimiter = '\t') header = ['FirstName', 'LastName', 'StudentID', 'Grade', 'FileName'] f1writer.writerow(header) f2writer.writerow(header) for row in reader: if not row['StudentID']: newFileName = row['Grade'] + '_' + row['LastName'] + '_' + row['FirstName'] + ".jpg" oldFileNamePath = os.path.join(copy_from_folder, row['FileName']) newFileNamePath = os.path.join(ErrorDir, newFileName) if os.path.exists(oldFileNamePath): os.rename(oldFileNamePath, newFileNamePath) newrow = [row['FirstName'],row['LastName'],row['StudentID'],row['Grade'],newFileName + ".jpg"] f1writer.writerow(newrow) elif row['StudentID']: newFileName = row['StudentID'] + ".jpg" oldFileNamePath = os.path.join(copy_from_folder, row['FileName']) newFileNamePath = os.path.join(ProcessedDir, newFileName) if os.path.exists(oldFileNamePath): os.rename(oldFileNamePath, newFileNamePath) newrow = [row['FirstName'],row['LastName'],row['StudentID'],row['Grade'],newFileName + ".jpg"] f2writer.writerow(newrow) f1.close() f2.close() def Infinite_Campus(): file_containing_list = "File (File Path)" copy_from_folder = "Folder (File Path)" ErrorDir = copy_from_folder + "_errors" if not os.path.exists(ErrorDir): os.mkdir(ErrorDir) ProcessedDir = copy_from_folder + "_processed" if not os.path.exists(ProcessedDir): os.mkdir(ProcessedDir) errors_txt = os.path.dirname(copy_from_folder) + "/" + os.path.basename(copy_from_folder) + "_errors.txt" processed_txt = os.path.dirname(copy_from_folder) + "/" + os.path.basename(copy_from_folder) + "_processed.txt" with open(file_containing_list) as csvfile: reader = csv.DictReader(csvfile, delimiter = '\t') f1 = open(errors_txt, 'w') f2 = open(processed_txt, 'w') f1writer = csv.writer(f1,delimiter = '\t') f2writer = csv.writer(f2, delimiter = '\t') header = ['FirstName', 'LastName', 'StudentID', 'Grade', 'FileName'] f1writer.writerow(header) f2writer.writerow(header) for row in reader: if not row['StudentID']: newFileName = row['Grade'] + '_' + row['LastName'] + '_' + row['FirstName'] + ".jpg" oldFileNamePath = os.path.join(copy_from_folder, row['FileName']) newFileNamePath = os.path.join(ErrorDir, newFileName) if os.path.exists(oldFileNamePath): os.rename(oldFileNamePath, newFileNamePath) newrow = [row['FirstName'],row['LastName'],row['StudentID'],row['Grade'],newFileName + ".jpg"] f1writer.writerow(newrow) elif row['StudentID']: newFileName = row['StudentID'] + ".jpg" oldFileNamePath = os.path.join(copy_from_folder, row['FileName']) newFileNamePath = os.path.join(ProcessedDir, newFileName) if os.path.exists(oldFileNamePath): os.rename(oldFileNamePath, newFileNamePath) newrow = [row['FirstName'],row['LastName'],row['StudentID'],row['Grade'],newFileName + ".jpg"] f2writer.writerow(newrow) f1.close() f2.close() def ReName_Only(): file_containing_list = "File (File Path)" copy_from_folder = "Folder (File Path)" ErrorDir = copy_from_folder + "_errors" if not os.path.exists(ErrorDir): os.mkdir(ErrorDir) ProcessedDir = copy_from_folder + "_processed" if not os.path.exists(ProcessedDir): os.mkdir(ProcessedDir) errors_txt = os.path.dirname(copy_from_folder) + "/" + os.path.basename(copy_from_folder) + "_errors.txt" processed_txt = os.path.dirname(copy_from_folder) + "/" + os.path.basename(copy_from_folder) + "_processed.txt" with open(file_containing_list) as csvfile: reader = csv.DictReader(csvfile, delimiter = '\t') f1 = open(errors_txt, 'w') f2 = open(processed_txt, 'w') f1writer = csv.writer(f1,delimiter = '\t') f2writer = csv.writer(f2, delimiter = '\t') header = ['FirstName', 'LastName', 'StudentID', 'Grade', 'FileName'] f1writer.writerow(header) f2writer.writerow(header) for row in reader: if not row['StudentID']: newFileName = row['Grade'] + '_' + row['LastName'] + '_' + row['FirstName'] + ".jpg" oldFileNamePath = os.path.join(copy_from_folder, row['FileName']) newFileNamePath = os.path.join(ErrorDir, newFileName) if os.path.exists(oldFileNamePath): os.rename(oldFileNamePath, newFileNamePath) newrow = [row['FirstName'],row['LastName'],row['StudentID'],row['Grade'],newFileName + ".jpg"] f1writer.writerow(newrow) elif row['StudentID']: newFileName = row['StudentID'] + ".jpg" oldFileNamePath = os.path.join(copy_from_folder, row['FileName']) newFileNamePath = os.path.join(ProcessedDir, newFileName) if os.path.exists(oldFileNamePath): os.rename(oldFileNamePath, newFileNamePath) newrow = [row['FirstName'],row['LastName'],row['StudentID'],row['Grade'],newFileName + ".jpg"] f2writer.writerow(newrow) f1.close() f2.close() if "AppleScript Result" == "Power School": Power_School() elif "AppleScript Result" == "Infinite Campus": Infinite_Campus() elif "AppleScript Result" == "ReName Only": ReName_Only()