Spaces:
Running
Running
import math | |
import gradio as gr | |
from utils import EN_US | |
ZH2EN = { | |
"待分割字符串": "String to be split", | |
"分割步长": "Split step", | |
"状态栏": "Status", | |
"分割结果": "Split result", | |
} | |
def _L(zh_txt: str): | |
return ZH2EN[zh_txt] if EN_US else zh_txt | |
def infer(cookie: str, step: int): | |
status = "Success" | |
output = "" | |
try: | |
cookie = cookie.strip() | |
if not cookie: | |
raise ValueError("请输入 cookie !") | |
size = len(cookie) | |
count = math.ceil(size / step) | |
for i in range(count): | |
output += f""" | |
## {i + 1} | |
```txt | |
{cookie[i * step : min((i + 1) * step, size)]} | |
``` | |
""" | |
except Exception as e: | |
status = f"{e}" | |
return status, output | |
def str_splitter(): | |
return gr.Interface( | |
fn=infer, | |
inputs=[ | |
gr.TextArea(label=_L("待分割字符串")), | |
gr.Slider( | |
label=_L("分割步长"), | |
minimum=1, | |
maximum=255959, | |
step=1, | |
value=1024, | |
), | |
], | |
outputs=[ | |
gr.Textbox(label=_L("状态栏"), show_copy_button=True), | |
gr.Markdown(label=_L("分割结果"), container=True, show_copy_button=True), | |
], | |
flagging_mode="never", | |
) | |