From 8dac93bb9bb78c2a53f5f801c847b46d326767ce Mon Sep 17 00:00:00 2001 From: Braeden Sowinski Date: Thu, 18 Aug 2022 00:15:39 -0700 Subject: [PATCH] update readme/previews and add generate data method --- README.md | 26 +++++++++++++++++++++++++- preview/error-preview.png | Bin 32516 -> 32516 bytes preview/generator-preview.png | Bin 22492 -> 24975 bytes tinker.py | 30 +++++++++++++++++++++++++++--- 4 files changed, 52 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 46f531c..2f879f2 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,37 @@ The algorithm reads student requests and generates a timetable for all requested The algorithm has been moved out of `tinker.py` into its own python script. Version 1 and 2 are removed and the script can be found in the `/scheduleGenerator` folder. The algorithm has come a long way; using real 2018 course selection data from my school, enabling me to better test the script. V3 has a entirely different approach from V1 and V2, that you can read about at the top of the function in [`generator.py`](/scheduleGenerator/generator.py). The function is broken up into 6 steps, each step is labeled within the function with a comment, giving a brief explination of what that step contributes to the algorithm. -This is the output after running it with the following command +Here is the list of commands. +1. Collect latest data from files and generate timetable ``` $ ./tinker.py ``` +2. Collect Data and store it in files for later +``` + $ ./tinker.py generate_data +``` + +3. Generate timetable from existing files (faster), requires last command run +``` + $ ./tinker.py no_refresh +``` + +4. More details on errors +``` + $ ./tinker.py errors +``` + +
+ +This is the output after running it with the following command. +``` + $ ./tinker.py no_refresh +``` + ![preview](/preview/generator-preview.png) +
A more in depth error log can be read with the additional argument ``` diff --git a/preview/error-preview.png b/preview/error-preview.png index 96594941659aa58e4ed1cc7a53e2380c30bdae1c..4cd1a44be3bf2042a82e2cef512c01705c29fb59 100644 GIT binary patch literal 32516 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 literal 32516 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 literal 22492 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 diff --git a/tinker.py b/tinker.py index fa87ca9..19bc809 100644 --- a/tinker.py +++ b/tinker.py @@ -1,4 +1,5 @@ #! python +from os.path import exists as file_exists from prettytable import PrettyTable from typing import Tuple from time import time, sleep @@ -79,11 +80,18 @@ if __name__ == '__main__': errors, _, _ = errorOutput(sampleStudents) print(errors) - elif sys.argv[1].lower() == "norefresh" or sys.argv[1].lower() == "no_refresh": + with open("./output/timetable.json", "w") as outfile: + json.dump(timetable, outfile, indent=2) + + elif sys.argv[1].lower() == "no_refresh": print('\nGenerating...\n') st = time() # Start time + if not file_exists('./output/students.json') or not file_exists('./output/courses.json'): + print('\n No previous data exists, please use the following command\n./tinker.py generate_data') + exit() + with open('./output/students.json') as f: sampleStudents = json.load(f) with open('./output/courses.json') as f: sampleCourses = json.load(f) @@ -106,6 +114,24 @@ if __name__ == '__main__': errors, _, _ = errorOutput(sampleStudents) print(errors) + with open("./output/timetable.json", "w") as outfile: + json.dump(timetable, outfile, indent=2) + + elif sys.argv[1].lower() == "generate_data": + t = threading.Thread(target=processing, args=('Collection student requests',)) + t.start() # Start animation + _ = getSampleStudents("./sample_data/course_selection_data.csv", True) + done = True # End Animation + print('\nStudent list generated.\n') + + t = threading.Thread(target=processing, args=('Collection Course Information',)) + done = False # reset animation + t.start() # Start animation + _ = getSampleCourses("./sample_data/course_selection_data.csv", True) + done = True # End Animation + print('\nCourse Information Collected.\n') + print('You can now use the following command\n./tinker.py no_refresh') + elif sys.argv[1].upper() == "ERRORS": f = open('./output/students.json') studentData = json.load(f) @@ -128,5 +154,3 @@ if __name__ == '__main__': print("Invalid argument") exit() - with open("./output/timetable.json", "w") as outfile: - json.dump(timetable, outfile, indent=2)