Revert "Fix Bugs"

This reverts commit 874c678316e134dc8ea9ab79bae078114e74e4c4.

Revert
This commit is contained in:
XXXXRT666 2025-05-27 14:26:43 +08:00
parent 6bd06fec7f
commit 141f1fbb54

View File

@ -88,7 +88,7 @@ class Subfix:
@property
def max_index(self):
return len(self.transcriptions_list)
return len(self.transcriptions_list) - 1
def load_list(self, list_path: str):
with open(list_path, mode="r", encoding="utf-8") as f:
@ -126,7 +126,7 @@ class Subfix:
checkboxs = []
with LOCK:
for i in range(index, index + self.batch_size):
if i <= self.max_index - 1:
if i <= self.max_index:
audios.append(gr.Audio(value=self.transcriptions_list[i][0]))
texts.append(gr.Textbox(value=self.transcriptions_list[i][3], label=self.i18n("Text") + f" {i}"))
languages.append(gr.Dropdown(value=self.transcriptions_list[i][2]))
@ -140,10 +140,8 @@ class Subfix:
def next_page(self, index: int):
batch_size = self.batch_size
max_index = self.max_index - batch_size
if max_index <= 0:
max_index = 1
index = min(index + batch_size, max_index - 1)
max_index = self.max_index - batch_size + 1
index = min(index + batch_size, max_index)
return gr.Slider(value=index), *self.change_index(index)
def previous_page(self, index: int):
@ -153,7 +151,7 @@ class Subfix:
def delete_audio(self, index, *selected):
delete_index = [i + index for i, _ in enumerate(selected) if _]
delete_index = [i for i in delete_index if i < self.max_index - 1]
delete_index = [i for i in delete_index if i < self.max_index]
for idx in delete_index[::-1]:
self.transcriptions_list.pop(idx)
self.save_list()
@ -167,18 +165,18 @@ class Subfix:
languages = input[len(input) // 2 :]
if texts is None or languages is None:
raise ValueError()
for idx in range(index, min(index + batch_size, self.max_index - 1)):
for idx in range(index, min(index + batch_size, self.max_index)):
self.transcriptions_list[idx][3] = texts[idx - index].strip().strip("\n")
self.transcriptions_list[idx][2] = languages[idx - index]
result = self.save_list()
if isinstance(result, SubfixErr):
gr.Warning(str(result.error))
gr.Warning(str(result.error), title="Subfix Error")
print(result.tracebacks)
def merge_audio(self, index, *selected):
batch_size = self.batch_size
merge_index = [i + index for i, _ in enumerate(selected) if _]
merge_index = [i for i in merge_index if i < self.max_index - 1]
merge_index = [i for i in merge_index if i < self.max_index]
if len(merge_index) < 2:
return *(gr.skip() for _ in range(batch_size * 3 + 1)), *(gr.Checkbox(False) for _ in range(batch_size))
else:
@ -211,7 +209,7 @@ class Subfix:
self.batch_size = batch_size
for i in range(index, index + batch_size):
with gr.Row(equal_height=True):
if i <= self.max_index - 1:
if i <= self.max_index:
with gr.Column(scale=2, min_width=160):
textbox_tmp = gr.Textbox(
value=self.transcriptions_list[i][3],
@ -511,7 +509,7 @@ def main(list_path: str = "", i18n_lang="Auto", port=9871, share=False):
timer.tick(
fn=lambda: (
gr.Slider(value=0, maximum=subfix.max_index),
gr.Slider(maximum=subfix.max_index),
gr.Slider(value=10),
gr.Timer(active=False),
),