fixes 3 pairs подряд, etc
This commit is contained in:
55
utils.py
55
utils.py
@@ -1,14 +1,58 @@
|
||||
|
||||
# gemini generated
|
||||
# Copyright Stanislav Mironov
|
||||
|
||||
import time
|
||||
import xlrd
|
||||
from coord import Coord, Merged
|
||||
from translations import ExcelSheetReader
|
||||
import re
|
||||
|
||||
|
||||
class StepTimeCounter:
|
||||
def __init__(self):
|
||||
self.time: float = -1.0
|
||||
self.createtime = time.time()
|
||||
self.setnow()
|
||||
|
||||
def setnow(self):
|
||||
self.time = time.time()
|
||||
|
||||
def step(self, no_set_now=False):
|
||||
left = time.time() - self.time
|
||||
if not no_set_now:
|
||||
self.setnow()
|
||||
return left
|
||||
|
||||
def from_create(self):
|
||||
left = time.time() - self.createtime
|
||||
return left
|
||||
|
||||
EMPTY_CTYPES = [xlrd.XL_CELL_EMPTY, xlrd.XL_CELL_BLANK]
|
||||
|
||||
def discards_list(trg, nones=True, emptystrings=True):
|
||||
if nones: remove_from_list(trg, [None])
|
||||
if emptystrings: remove_from_list(trg, [""])
|
||||
|
||||
def has_no_bottom_border(reader: "ExcelSheetReader", coord):
|
||||
return reader.get_border_style(coord, 'bottom') == 0 and reader.get_border_style(coord.shift(down=1), 'top') == 0
|
||||
|
||||
def find_element_index(my_list, element):
|
||||
if element in my_list:
|
||||
return my_list.index(element)
|
||||
else:
|
||||
return -1
|
||||
|
||||
def next_element(arr, el):
|
||||
index = find_element_index(arr, el)
|
||||
return arr[index + 1]
|
||||
|
||||
def remove_from_list(l: list, todel: list):
|
||||
for x in todel:
|
||||
if x in l:
|
||||
l.remove(x)
|
||||
|
||||
return l
|
||||
|
||||
def parse_all_dirt(reader: "ExcelSheetReader", min_pos, right, down):
|
||||
RET = set()
|
||||
|
||||
@@ -17,17 +61,16 @@ def parse_all_dirt(reader: "ExcelSheetReader", min_pos, right, down):
|
||||
col = min_pos.col
|
||||
while col < min_pos.col + right:
|
||||
#print(excel_coordinate(row, col))
|
||||
value = str(reader.get_cell_value(row, col))
|
||||
if value is not None and len(value) > 0:
|
||||
cv = reader.get_cell_value(row, col)
|
||||
value = str(cv).strip()
|
||||
if cv is not None and len(value) > 0:
|
||||
RET.add(value)
|
||||
col += 1
|
||||
row += 1
|
||||
|
||||
return RET
|
||||
|
||||
import re
|
||||
|
||||
# GEMINI
|
||||
# GEMINI GENERATED
|
||||
def normalize_name(raw_name):
|
||||
"""
|
||||
Приводит разнородные записи ФИО к единому структурированному виду.
|
||||
|
||||
Reference in New Issue
Block a user