Spaces:
Runtime error
Runtime error
| from typing import Final | |
| import gradio as gr # type: ignore | |
| import src.func as func | |
| from src.model.choice import ChoiceWithBetTable | |
| DEFAULT_AMOUNT: Final[int] = 10_000 | |
| def clear(text: str) -> str: | |
| try: | |
| return func.clear(text) | |
| except Exception as e: | |
| raise gr.Error(e) | |
| def calculate(budget: int, text: str) -> tuple[str, ChoiceWithBetTable]: | |
| try: | |
| return func.calculate(budget, text) | |
| except Exception as e: | |
| raise gr.Error(e) | |
| with gr.Blocks( | |
| theme=gr.themes.Default(primary_hue="green", secondary_hue="lime") | |
| ) as demo: | |
| # flontend ------------------------------ | |
| with gr.Row(): | |
| with gr.Column(): | |
| budget_input = gr.Number(value=DEFAULT_AMOUNT, label="予算") | |
| text_input = gr.Textbox(label="netkeiba 買い目コピペ") | |
| with gr.Row(): | |
| calculate_button = gr.Button(value="Calculate", variant="primary") | |
| clear_button = gr.Button(value="Clear") | |
| with gr.Column(): | |
| markdown_output = gr.Markdown() | |
| df_output = gr.Dataframe( | |
| value=[], | |
| label=None, | |
| headers=["買い目", "オッズ", "賭け額", "払戻"], | |
| datatype=["str", "number", "number", "number"], | |
| col_count=(4, "fixed"), | |
| ) | |
| # リンク | |
| gr.Markdown( | |
| "[即パット](https://www.ipat.jra.go.jp/)<br>[netkeiba](https://www.netkeiba.com/)<br>" | |
| ) | |
| # click ------------------------------ | |
| calculate_button.click( | |
| calculate, | |
| inputs=[budget_input, text_input], | |
| outputs=[markdown_output, df_output], | |
| ) | |
| clear_button.click( | |
| clear, | |
| inputs=[text_input], | |
| outputs=[text_input], | |
| ) | |
| if "__main__" == __name__: | |
| demo.launch(debug=True) | |