diff --git a/main.py b/main.py index 52fbb4d..4b9b1a1 100644 --- a/main.py +++ b/main.py @@ -94,7 +94,11 @@ def process_excel_file(facultet, excel_url, counter, timeid): excel_info['stat']['cycles'] += 1 print(f"Parsing sheet №{reader.get_sheet_index()+1} (from 1)") prs = parser.Parser(reader) + + print("Parser created; parser.parse();") prs.parse() + + print("parsed done!") if prs.parser_error is not None: excel_info["parser_error_cycle_" + excel_info['stat']['cycles']] = prs.parser_error diff --git a/parser.py b/parser.py index 1b4ec59..1fa8ca6 100644 --- a/parser.py +++ b/parser.py @@ -79,6 +79,7 @@ class Parser: previous_pair = None while row < self.reader.get_row_count(): # maybe условие чтобы не уйти ниже чем есть строк pos = Coord(row, group['position'][1]) # текущая позиция, верхний левый угол (=low) + pprint(f"while pos={pos}") pos_right = pos.shift(right=3) pair_pos = pos.replace(col=5) weekday_pos = pos.replace(col=4) @@ -123,15 +124,20 @@ class Parser: parsed_location = None parsed_leader = None pairs = 1 + wtf_tomanypairs = False is_solid = pos_right in merged parsed_uncotigorized = [] is_wide_maybe_potokoviy = merged.width() > 4 # потоковая ли лекция (занимает несколько групп.) if not is_empty_lesson: - cur = merged.low.shift(down=2) + cur = pos.shift(down=2) while utils.has_no_bottom_border(self.reader, cur): next += 3 pairs += 1 + pprint(f"next = {next} cur={cur}") + if pairs >= 7: + wtf_tomanypairs = True + break cur = cur.shift(down=3) if is_wide_maybe_potokoviy: @@ -202,6 +208,8 @@ class Parser: "restoted": pair != "", "pair": pair } + if wtf_tomanypairs: + today[pair]['to_many_parsing_time_coeff'] = True # INCREMENT на next и конец цикла.