File size: 2,928 Bytes
b6b08f6
3353a40
af2f25b
477a5c9
4b9f915
477a5c9
 
3353a40
f9a8fb9
477a5c9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
af2f25b
8646ee7
a2ffcba
4b9f915
 
 
 
 
 
a093747
4b9f915
 
c4e54fe
4b9f915
 
59afa4a
4b9f915
 
 
59afa4a
4b9f915
 
59afa4a
4b9f915
 
a8fdbd7
a2ffcba
477a5c9
 
184a373
 
477a5c9
184a373
a2ffcba
184a373
 
7f7245b
f42eca8
5a5ad3c
184a373
 
 
b6eb1a4
 
184a373
b6eb1a4
184a373
 
cead56a
e540908
4b9f915
 
184a373
c4e54fe
f42eca8
7f7245b
4b9f915
539dd4c
5a5ad3c
 
 
70f2202
5a5ad3c
8646ee7
af2f25b
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import gradio as gr
import requests
import os
import random
import time



name2 = "runwayml/stable-diffusion-v1-5"
models=[
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
]
o = os.getenv("P")

def ac():
    def clear(v):
        if int(v) != 0:
            v = 0
        else:
            v = 0
            pass
        return v,""
    def start():
        stamp = time.time()
        return gr.update(value=stamp),gr.update(value=0)
    
    def end(stamp):
        ts = stamp + 6
        ti = time.time()
        if ti > ts and stamp != 0:
            t=gr.update(value=1)
            print("Cancelling")
        else:
            t=gr.update(value=0)
            print("Passing")
            pass
        return t
    def im_fn(put,fac="",h=None):
        if h == o:
            rn = random.randint(0, 19)
            model=models[rn]
            put = f"{put}{fac}"
            fac = f"{fac} "
            print (rn)
            return model(put),fac
        elif h != o:
            return(None,None)
    def cl_fac():
        #t_state,t_switch=start()
        return ""
    with gr.Blocks() as b:
        with gr.Row():
            put = gr.Textbox()            
            btn1 = gr.Button()
        with gr.Row():
            out1 = gr.Image()
            out2 = gr.Image()
        with gr.Row():
            out3 = gr.Image()
            out4 = gr.Image()
        with gr.Row(visible=False):
            h=gr.Textbox("Q")
            t_state=gr.Number()
            t_switch=gr.Textbox(value=0)
        fac_b = gr.Textbox(value="",visible=False)

        b0=btn1.click(cl_fac,None,[fac_b],show_progress=False)
        b1=btn1.click(start,None,[t_state,t_switch])
        sta = t_state.change(end,t_state,t_switch,every=1)
        b2=t_state.change(im_fn,[put,fac_b,h],[out1,fac_b])
        b3=out1.change(im_fn,[put,fac_b,h],[out2,fac_b])        
        b4=out2.change(im_fn,[put,fac_b,h],[out3,fac_b])        
        b5=out3.change(im_fn,[put,fac_b,h],[out4,fac_b])        
        t_switch.change(clear,t_switch,[t_switch,fac_b], cancels=[sta,b2,b3,b4,b5])

    b.queue(concurrency_count=100).launch(show_api=False)
ac()