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