File size: 2,604 Bytes
6fef025
89c5f18
f5b8400
20cbff0
b21c027
20cbff0
6fef025
20cbff0
 
 
 
70ef948
20cbff0
6fef025
20cbff0
 
6fef025
f5b8400
 
20cbff0
6fef025
f5b8400
 
 
20cbff0
6177a01
6fef025
36364c7
 
 
 
 
bdcf524
89f3422
 
20cbff0
89f3422
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2feae84
20cbff0
36364c7
5a044c1
 
36364c7
20cbff0
5a044c1
26b4194
70ef948
5a044c1
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
import gradio as gr
from random import randint
from all_models import models
from datetime import datetime

now2 = 0

def get_current_time():
    now = datetime.now()
    now2 = now
    current_time = now2.strftime("%Y-%m-%d %H:%M:%S")
    ki = f'{current_time}'
    return ki

def load_fn(models):
    global models_load

def update_imgbox(choices):
    choices_plus = extend_choices(choices)
    return [gr.Image(None, label=m, visible=(m != 'NA')) for m in choices_plus]

def gen_fn(model_str, prompt):
    if model_str == 'NA':
        return None
    noise = str(randint(0, 9999))
    return models_load[model_str](f'{prompt} {noise}')

# Define extend_choices function
def extend_choices(choices):
    # Example implementation: extend choices with additional logic if needed
    return choices

def make_me():
        with gr.Row():
            txt_input = gr.Textbox(label='Your prompt:', lines=3, width=800, max_height=100)
        
            gen_button = gr.Button('Generate images', width=30, height=30)
            stop_button = gr.Button('Stop', variant='secondary', interactive=False, width=30, height=30)
            gen_button.click(lambda s: gr.update(interactive=True), None, stop_button)
            gr.HTML("""
            <div style="text-align: center; max-width: 100%; margin: 0 auto;">
                <body>
                </body>
            </div>
            """)
        with gr.Row():
            output = [gr.Image(label=m, min_width=250, height=250) for m in default_models]
            current_models = [gr.Textbox(m, visible=False) for m in default_models]
            for m, o in zip(current_models, output):
                gen_event = gen_button.click(gen_fn, [m, txt_input], o)
                stop_button.click(lambda s: gr.update(interactive=False), None, stop_button, cancels=[gen_event])
        with gr.Accordion('Model selection'):
            model_choice = gr.CheckboxGroup(models, label=f' {num_models} different models selected', value=default_models, multiselect=True, max_choices=num_models, interactive=True, filterable=False)
            model_choice.change(update_imgbox, model_choice, output)
            model_choice.change(extend_choices, model_choice, current_models)
        with gr.Row():
            gr.HTML()

js_code = """
console.log('ghgh');
"""

with gr.Blocks(css="div.float.svelte-1mwvhlq { position: absolute; top: var(--block-label-margin); left: var(--block-label-margin); background: none; border: none;}") as demo: 
    gr.Markdown("<script>" + js_code + "</script>")
    make_me()

demo.queue(concurrency_count=200)
demo.launch()