File size: 1,300 Bytes
5434c4b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import gradio as gr
import generate_annotated_diffs
df = generate_annotated_diffs.data_with_annotated_diffs()
n_diffs = len(df)
def update_view(diff_idx):
diff_idx -= 1
return df.iloc[diff_idx]['annotated_diff'], df.iloc[diff_idx]['commit_msg_start'], df.iloc[diff_idx][
'commit_msg_end'], df.iloc[diff_idx][
'session'], f"https://github.com/{df.iloc[diff_idx]['repo']}/commit/{df.iloc[diff_idx]['hash']}"
if __name__ == '__main__':
with gr.Blocks(theme=gr.themes.Soft()) as application:
slider = gr.Slider(minimum=1, maximum=n_diffs, step=1, value=1, label=f"Sample number (total: {n_diffs})")
diff_view = gr.Highlightedtext(combine_adjacent=True, color_map={'+': "green", '-': "red"})
start_view = gr.Textbox(interactive=False, label="Start message", container=True)
end_view = gr.Textbox(interactive=False, label="End message", container=True)
session_view = gr.Textbox(interactive=False, label="Session", container=True)
link_view = gr.Markdown()
slider.change(update_view, inputs=slider, outputs=[diff_view, start_view, end_view, session_view, link_view])
application.load(update_view, inputs=slider, outputs=[diff_view, start_view, end_view, session_view, link_view])
application.launch()
|