File size: 4,506 Bytes
77532d6
 
 
 
 
7508bdc
77532d6
ef60974
77532d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a25cd60
77532d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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 = "$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 Upgrade 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("",visible=False)
    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)
        elif ti < ts:
            return gr.update(value=0),gr.HTML.update("",visible=False)
    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}",visible=True),gr.HTML.update("",visible=False)
    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")
        message2=gr.HTML("",visible=False)
        message=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("",visible=False),gr.HTML.update("",visible=False)
        fac_b = gr.Textbox(value="",visible=False)
        def noth():
            return gr.HTML.update("<div></div>",visible=True)
        btn1.click(cl_fac,None,[fac_b,message,message2],show_progress=False)
        b1=btn1.click(start,None,[t_state,t_switch],show_progress=False)
        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,message2],cancels=[b1,sta,b2,b3,b4,b5,swi],show_progress=False)
    b.queue(concurrency_count=100).launch(show_api=False)
ac()