diff --git a/example_sizes.json b/example_sizes.json deleted file mode 100644 index e6fb329..0000000 --- a/example_sizes.json +++ /dev/null @@ -1,3 +0,0 @@ -[{"group_id": 11, "group_size": 4}, - {"group_id": 12, "group_size": 3}, - {"group_id": 13, "group_size": 2}] \ No newline at end of file diff --git a/generate.py b/generate.py index b7720d2..3235680 100644 --- a/generate.py +++ b/generate.py @@ -8,7 +8,7 @@ import json from pprint import pprint as pprint if sys.argv[1] == "help": - print(f"{sys.argv[0]} [input_json_file] [size file] [maximum_number of students per group]\n {sys.argv[0]} sorting.json size.json 12") + print(f"{sys.argv[0]} [input_json_file] [maximum_number of students per group]\n {sys.argv[0]} foo.json 12") sys.exit(0) def generate_random_set(f, s, g): @@ -45,20 +45,20 @@ def parse_matchings(matchings): class Rules(): - def __init__(self, json_sortings, json_sizes): + def __init__(self, json_path): self.timetables = [] self.groups = {} self.rankings = [] - with open(json_sizes, 'r') as f: - sizes = json.loads(f.read()) - for s in sizes: - self.groups[s["group_id"]] = s["group_size"] - - with open(json_sortings, 'r') as f: + with open(json_path, 'r') as f: data = json.loads(f.read()) for d in data: + if d["group_id"] not in self.groups: + self.groups[d["group_id"]] = 1 + else: + self.groups[d["group_id"]] += 1 + self.rankings.append((d["group_id"], d["timetable_id"], d["sorting"])) def addTimetable(self, timtableName): @@ -75,13 +75,13 @@ class Rules(): r+= f"rank('group{g[0]}', 'sched{g[1]}', {g[2]}).\n" return r -rules = Rules(sys.argv[1], sys.argv[2]) +rules = Rules(sys.argv[1]) for i in range(1,13): rules.addTimetable(i) #print(rules.generateRules()) -max = sys.argv[3] +max = sys.argv[2] f = open('.rules.pl', 'w') base = open('rules.pl', 'r').read() @@ -113,9 +113,4 @@ for r in results["Call"]: matchings = parse_matchings(matchings) counts = parse_counts(counts) -output = [] - -for m in matchings: - output.append({"group_id": int(m.replace("group", "")), "timetable_id": int(matchings[m].replace("sched", ""))}) - -pprint(output) \ No newline at end of file +pprint(counts)