diff --git a/table_distributor.html b/table_distributor.html index 36f4f9d..0e6b061 100644 --- a/table_distributor.html +++ b/table_distributor.html @@ -1,6 +1,6 @@ - - + + @@ -56,6 +56,7 @@
+
@@ -127,6 +128,7 @@ def load_input(val): cur_meet_list = cur_meet_list | {int(s)} p = Person(cur_beig_id,cur_name, cur_meet_list) persons.append(p) + persons = sorted(persons, key=lambda person: len(person.meet_set)) def show_meet_table_data(): global persons @@ -155,7 +157,10 @@ def get_result(): global persons result = "" for p in persons: - result += str(p.beig_id) + ";" + p.name + ";" + str(p.meet_set) + "\n" + result += str(p.beig_id) + ";" + p.name + ";" + if len(p.meet_set): + result += str(p.meet_set) + result += "\n" return result def print_result_table(): @@ -173,14 +178,20 @@ def print_result_table(): for t in tables: html += "" html += "" + str(table_names[t.id]) + "" - html += "" + str(t.person_set) + "" + if len(t.person_set): + html += "" + str(t.person_set) + "" + else: + html += "" html += "" html += "" document["result_table"].innerHTML = html result_txt = "" for t in tables: - result_txt += str(t.id) + ";" + str(t.person_set) + "\n" + result_txt += str(t.id) + ";" + if len(t.person_set): + result_txt += str(t.person_set) + result_txt += "\n" document["result_table_txt"].value = result_txt @@ -235,7 +246,6 @@ def get_beig_id_set(): result = result | {p.beig_id} return result - def fill_tables(): global persons global tables @@ -271,6 +281,25 @@ def fill_persons(): if p.beig_id in t.person_set: p.meet_set = t.person_set | p.meet_set +def load_input_table(val): + global tables + tables = [] + input_data = val + for t in input_data.split("\n"): + if t == "": + continue + tmp = t.split(";") + cur_id = int(tmp[0]) + str_meet_list = [] + if len(tmp) > 1: + str_meet_list = tmp[1].replace(" ", "").replace("{", "").replace("}", "").split(",") + cur_meet_list = set() + for s in str_meet_list: + if len(s) != 0: + cur_meet_list = cur_meet_list | {int(s)} + t = Table(cur_id, cur_meet_list) + tables.append(t) + def make_result(): fill_tables() fill_persons() @@ -285,12 +314,19 @@ def table_distrib(event): print_result_table() document["output_data"].value = get_result() +def table_distrib_load(event): + load_data(event) + load_input_table(document["result_table_txt"].value) + fill_persons() + document["output_data"].value = get_result() + def load_to_start_data(event): document["input_data"].value = document["output_data"].value document["load_data"].bind("click", load_data) document["table_distrib"].bind("click", table_distrib) document["load_to_start_data"].bind("click", load_to_start_data) +document["table_distrib_load"].bind("click", table_distrib_load)