From 22f1000a3f6462807f23ad00fa26c84b97e656c0 Mon Sep 17 00:00:00 2001 From: Mattia Oldani Date: Thu, 3 Aug 2023 21:29:53 +0200 Subject: [PATCH] Aggiunto ordinamento per cognome --- generator/form/form.py | 2 +- generator/template/template.py | 10 ---------- generator/utils/turns.py | 14 ++++++++++++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/generator/form/form.py b/generator/form/form.py index 47c4aa0..d4f08d9 100644 --- a/generator/form/form.py +++ b/generator/form/form.py @@ -21,7 +21,7 @@ def generate_dat_file(): turns = dict() names = list() for entry in entries: - name = entry["Field1"].strip() + ''.join(entry["Field2"].strip().split(" ")) + name = ''.join(entry["Field2"].strip().split(" ")) + entry["Field1"].strip() names.append(name) pre = list() diff --git a/generator/template/template.py b/generator/template/template.py index 2a33c7b..8390e8b 100644 --- a/generator/template/template.py +++ b/generator/template/template.py @@ -57,21 +57,11 @@ def generate_template(): turns = Turns(results) - def format(name): - find = name[1] - results = find[0] - for char in find[1:]: - if char.isupper(): - results += " " - results += char - return (name[0], results) - with open("template.typ", "a") as f: for slot in Slots: f.write(f"\t[_{slot.name}_], ") for day in Days: animators = turns.get_animators(slot, day) - animators = list(map(format, animators)) names = ", ".join([a[1] for a in animators]) if names == "": names = "-" diff --git a/generator/utils/turns.py b/generator/utils/turns.py index f9f640d..19355a3 100644 --- a/generator/utils/turns.py +++ b/generator/utils/turns.py @@ -13,6 +13,14 @@ def compare(x,y): return x[0].value - y[0].value compare = cmp_to_key(compare) + def format(name): + results = name[0] + for char in name[1:]: + if char.isupper(): + results += " " + results += char + return results + turns = dict() animators = set() for slot in Slots: @@ -24,7 +32,7 @@ def compare(x,y): results = results[i+3:] break else: - animator = row.split(" ")[0] + animator = format(row.split(" ")[0]) animators.add(animator) keep = list(filter(lambda x : x in ("0","1"), row.split(" "))) for day in Days: @@ -41,7 +49,8 @@ def compare(x,y): row = row.strip().split(" ") row = list(filter(lambda x : x != "", row)) for i in range(0,len(row),2): - counts[row[i]] = int(row[i+1]) + name = format(row[i]) + counts[name] = int(row[i+1]) max_ = int(results.pop(0).split(" ")[2]) min_ = int(results.pop(0).split(" ")[2]) @@ -74,6 +83,7 @@ def compare(x,y): def get_animators_turns_counts(self, sort=False, reverse=False): counts = list(self.counts.items()) + counts.sort(key=lambda x : x[0]) match [isinstance(sort,bool),isinstance(reverse,bool)]: case [True,True]: