Skip to content

Commit 20b8726

Browse files
committed
v.3.0
1 parent eeed90e commit 20b8726

1 file changed

Lines changed: 34 additions & 32 deletions

File tree

main.py

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -283,29 +283,46 @@ def list_generator(
283283

284284
def fix_check(project: reapy.Project, subs: List[str]) -> None:
285285
"""Функция для проверки на пропуски и наложения"""
286-
subs_enum = project.tracks[1].n_items
286+
sbttls = pysubs2.load(subs[0])
287+
pattern = '- '
288+
dbbl_sbs = {}
289+
subs_enum = len(sbttls)
287290
items_enum = project.n_items
291+
sub_items_enum = project.tracks[1].n_items
292+
voice_items = items_enum - sub_items_enum - 1
293+
items_mid = voice_items // 2
288294
subs_list = [[float] * 2] * subs_enum
289-
items_list = [[float] * 2] * (items_enum - subs_enum - 1)
290-
queue_subs = mp.Queue()
291-
queue_items = mp.Queue()
292-
checked_subs = []
293-
dubbles_items = []
294-
subs_list_gen = mp.Process(
295+
items_list_1 = [[float] * 2] * items_mid
296+
items_list_2 = [[float] * 2] * (voice_items - items_mid)
297+
position = 0
298+
for i, sub in enumerate(sbttls):
299+
start = sub.start / 1000
300+
end = sub.end / 1000
301+
subs_list[position] = [start, end]
302+
if pattern in sub.text.lower():
303+
dbbl_sbs[i] = [(sub.start / 1000), (sub.end / 1000), 0]
304+
position += 1
305+
queue_1 = mp.Queue()
306+
queue_2 = mp.Queue()
307+
items_list_gen_1 = mp.Process(
295308
target=list_generator,
296-
args=(0, 1, (subs_enum + 1), subs_list, queue_subs)
309+
args=(0, (sub_items_enum + 1), (sub_items_enum + 1 + items_mid),
310+
items_list_1, queue_1)
297311
)
298-
items_list_gen = mp.Process(
312+
items_list_gen_2 = mp.Process(
299313
target=list_generator,
300-
args=(0, (subs_enum + 1), items_enum,
301-
items_list, queue_items)
314+
args=(0, (sub_items_enum + 1 + items_mid), items_enum,
315+
items_list_2, queue_2)
302316
)
303-
subs_list_gen.start()
304-
items_list_gen.start()
305-
subs_list = queue_subs.get()
306-
items_list = queue_items.get()
307-
subs_list_gen.join()
308-
items_list_gen.join()
317+
items_list_gen_1.start()
318+
items_list_gen_2.start()
319+
items_list_1 = queue_1.get()
320+
items_list_2 = queue_2.get()
321+
items_list = list(items_list_1 + items_list_2)
322+
items_list_gen_1.join()
323+
items_list_gen_2.join()
324+
checked_subs = []
325+
dubbles_items = []
309326
for s in subs_list:
310327
lenght = s[1] - s[0]
311328
for i in items_list:
@@ -345,21 +362,6 @@ def fix_check(project: reapy.Project, subs: List[str]) -> None:
345362
for s in subs_list:
346363
if s not in checked_subs:
347364
project.add_marker(s[0], 'FIX', (255, 0, 255))
348-
if subs:
349-
dubbles_check(project, subs, items_list)
350-
351-
352-
def dubbles_check(
353-
project: reapy.Project,
354-
subs: List[str],
355-
items_list: List
356-
) -> None:
357-
sbttls = pysubs2.load(subs[0])
358-
pattern = '- '
359-
dbbl_sbs = {}
360-
for i, sub in enumerate(sbttls):
361-
if pattern in sub.text.lower():
362-
dbbl_sbs[i] = [(sub.start / 1000), (sub.end / 1000), 0]
363365
for s in dbbl_sbs:
364366
lenght = dbbl_sbs[s][1] - dbbl_sbs[s][0]
365367
for i in items_list:

0 commit comments

Comments
 (0)