File size: 4,448 Bytes
226e928
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import gradio as gr
import os
import requests
import random
import time
r = requests.get(f'https://huggingface.co/spaces/xp3857/bin/raw/main/css.css') 
css = r.text
name2 = f'{$name2}'
 
#model = gr.Interface.load(f"models/{name2}")
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")
o = "V"

m_out = ("""
<div id="restart">
<h3 id="head">Loading Time Limit Reached.</h3><br>
<h4 id="cont">Please choose a Simpler Prompt, or <b>Upgrade</b> for faster loading.</h4>
</div>
""")
loading=("""
<div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div>""")
def ac():
    def clear():
        return gr.update(value=0),gr.update(value=0),gr.HTML.update("<div></div>")
    def start():
        stamp = time.time()
        return gr.update(value=stamp),gr.update(value=0)
    def end(stamp):
        ts = stamp + 120
        ti = time.time()
        if ti > ts and stamp != 0:
            return gr.update(value=1),gr.HTML.update(f"{m_out}",visible=True)
        else:
            return gr.update(value=0),None
            
    def im_fn(put,fac="",h=None,bb=None):
        if int(bb)==1:
            bb=0
        elif int(bb)==0:
            bb=1
        try:
            if h == o:
                put = f"{put}{fac}"
                fac = f"{fac} "
                rn = random.randint(0, 19)
                model=models[rn]
                return model(put),fac,bb
            elif h != o:
                return(None,None,bb)
        except Exception:
            return None, None,bb
            
    def cl_fac():
        return "",gr.HTML.update(f"<center>{loading}")
        
    with gr.Blocks(css=css) as b:
        with gr.Row():
            with gr.Column():
                put = gr.Textbox()     
            with gr.Column():
                with gr.Row():
                    btn1 = gr.Button("Run")
                    btn2 = gr.Button("Clear")
        message=gr.HTML("<div></div>")
        message2=gr.HTML("",visible=False)

        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(value="V")
            t_state=gr.Number()
            t_switch=gr.Textbox(value=0)
            bb1=gr.Textbox(value=0)
            bb2=gr.Textbox(value=0)
            bb3=gr.Textbox(value=0)
            bb4=gr.Textbox(value=0)
        def clear_all():
            return "",None,None,None,None,None,None,1,gr.HTML.update("<div></div>")
        fac_b = gr.Textbox(value="",visible=False)


        def noth():
            return gr.HTML.update("<div></div>")
        btn1.click(cl_fac,None,[fac_b,message],show_progress=False)
        b1=btn1.click(start,None,[t_state,t_switch],show_progress=True)
        sta = t_state.change(end,t_state,[t_switch,message2],every=1,show_progress=False)
        b2=btn1.click(im_fn,[put,fac_b,h,bb1],[out1,fac_b,bb1], show_progress=False)
        b3=bb1.change(im_fn,[put,fac_b,h,bb2],[out2,fac_b,bb2], show_progress=False)        
        b4=bb2.change(im_fn,[put,fac_b,h,bb3],[out3,fac_b,bb3], show_progress=False)        
        b5=bb3.change(im_fn,[put,fac_b,h,bb4],[out4,fac_b,bb4], show_progress=False)
        b6=bb4.change(noth,None,message, cancels=[sta], show_progress=False)
        swi=t_switch.change(clear,None,[t_switch,fac_b,message], cancels=[sta,b2,b3,b4,b5],show_progress=False)
        btn2.click(clear_all, None,[fac_b,put,out1,out2,out3,out4,t_state,t_switch,message],cancels=[b1,sta,b2,b3,b4,b5,swi],show_progress=False)
    b.queue(concurrency_count=100).launch(show_api=False)
ac()