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()