Update app.py
Browse files
app.py
CHANGED
@@ -81,6 +81,40 @@ def initialize_backgrounds():
|
|
81 |
|
82 |
logger.info("๋ชจ๋ ๋ฐฐ๊ฒฝ ์ต์
์ด๊ธฐํ ์๋ฃ")
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
# ------------------- ๊ธฐ๋ณธ ์ ํธ๋ฆฌํฐ ํจ์ -------------------
|
85 |
def save_binary_file(file_name, data):
|
86 |
with open(file_name, "wb") as f:
|
@@ -445,6 +479,9 @@ def generate_product_images(image, bg_type, simple, studio, nature, indoor, tech
|
|
445 |
|
446 |
# ------------------- Gradio ์ธํฐํ์ด์ค ๊ตฌ์ฑ -------------------
|
447 |
def create_app():
|
|
|
|
|
|
|
448 |
with gr.Blocks(title="๊ณ ๊ธ ์ํ ์ด๋ฏธ์ง ๋ฐฐ๊ฒฝ ํ๋กฌํํธ ๋ฐ ์ด๋ฏธ์ง ์์ฑ") as demo:
|
449 |
gr.Markdown("# ๊ณ ๊ธ ์ํ ์ด๋ฏธ์ง ๋ฐฐ๊ฒฝ ํ๋กฌํํธ ๋ฐ ์ด๋ฏธ์ง ์์ฑ")
|
450 |
gr.Markdown(
|
@@ -460,50 +497,50 @@ def create_app():
|
|
460 |
value="์ฌํ ๋ฐฐ๊ฒฝ"
|
461 |
)
|
462 |
simple_dropdown = gr.Dropdown(
|
463 |
-
choices=
|
464 |
-
value=
|
465 |
label="์ฌํ ๋ฐฐ๊ฒฝ ์ ํ",
|
466 |
visible=True,
|
467 |
interactive=True
|
468 |
)
|
469 |
studio_dropdown = gr.Dropdown(
|
470 |
-
choices=
|
471 |
-
value=
|
472 |
label="์คํ๋์ค ๋ฐฐ๊ฒฝ ์ ํ",
|
473 |
visible=False,
|
474 |
interactive=True
|
475 |
)
|
476 |
nature_dropdown = gr.Dropdown(
|
477 |
-
choices=
|
478 |
-
value=
|
479 |
label="์์ฐ ํ๊ฒฝ ์ ํ",
|
480 |
visible=False,
|
481 |
interactive=True
|
482 |
)
|
483 |
indoor_dropdown = gr.Dropdown(
|
484 |
-
choices=
|
485 |
-
value=
|
486 |
label="์ค๋ด ํ๊ฒฝ ์ ํ",
|
487 |
visible=False,
|
488 |
interactive=True
|
489 |
)
|
490 |
tech_dropdown = gr.Dropdown(
|
491 |
-
choices=
|
492 |
-
value=
|
493 |
label="ํ
ํฌ๋๋ก์ง ๋ฐฐ๊ฒฝ ์ ํ",
|
494 |
visible=False,
|
495 |
interactive=True
|
496 |
)
|
497 |
colorful_dropdown = gr.Dropdown(
|
498 |
-
choices=
|
499 |
-
value=
|
500 |
label="์ปฌ๋ฌํ ํจํด ๋ฐฐ๊ฒฝ ์ ํ",
|
501 |
visible=False,
|
502 |
interactive=True
|
503 |
)
|
504 |
abstract_dropdown = gr.Dropdown(
|
505 |
-
choices=
|
506 |
-
value=
|
507 |
label="์ถ์/ํน์ ๋ฐฐ๊ฒฝ ์ ํ",
|
508 |
visible=False,
|
509 |
interactive=True
|
|
|
81 |
|
82 |
logger.info("๋ชจ๋ ๋ฐฐ๊ฒฝ ์ต์
์ด๊ธฐํ ์๋ฃ")
|
83 |
|
84 |
+
# ๋ฐฐ๊ฒฝ ๋๋กญ๋ค์ด ์ด๊ธฐํ๋ฅผ ์ํ ํจ์ ์ถ๊ฐ
|
85 |
+
def initialize_dropdowns():
|
86 |
+
"""๋๋กญ๋ค์ด ๋ฉ๋ด ์ด๊ธฐํ ํจ์"""
|
87 |
+
# ๊ฐ ๋ฐฐ๊ฒฝ ์ ํ๋ณ ๋๋กญ๋ค์ด ์ ํ ๋ชฉ๋ก ์์ฑ
|
88 |
+
simple_choices = list(SIMPLE_BACKGROUNDS.keys())
|
89 |
+
studio_choices = list(STUDIO_BACKGROUNDS.keys())
|
90 |
+
nature_choices = list(NATURE_BACKGROUNDS.keys())
|
91 |
+
indoor_choices = list(INDOOR_BACKGROUNDS.keys())
|
92 |
+
tech_choices = list(TECHNOLOGY_BACKGROUNDS.keys())
|
93 |
+
colorful_choices = list(COLORFUL_PATTERN_BACKGROUNDS.keys())
|
94 |
+
abstract_choices = list(ABSTRACT_BACKGROUNDS.keys())
|
95 |
+
|
96 |
+
# ๋น ๋ฐฐ์ด ์ฒดํฌ ๋ฐ ๋ก๊น
|
97 |
+
if not tech_choices:
|
98 |
+
logger.warning("ํ
ํฌ๋๋ก์ง ๋ฐฐ๊ฒฝ ์ต์
์ด ๋น์ด ์์ต๋๋ค. JSON ํ์ผ์ ํ์ธํ์ธ์.")
|
99 |
+
tech_choices = ["๊ธฐ๋ณธ ํ
ํฌ๋๋ก์ง ๋ฐฐ๊ฒฝ"]
|
100 |
+
if not colorful_choices:
|
101 |
+
logger.warning("์ปฌ๋ฌํ ํจํด ๋ฐฐ๊ฒฝ ์ต์
์ด ๋น์ด ์์ต๋๋ค. JSON ํ์ผ์ ํ์ธํ์ธ์.")
|
102 |
+
colorful_choices = ["๊ธฐ๋ณธ ์ปฌ๋ฌํ ๋ฐฐ๊ฒฝ"]
|
103 |
+
|
104 |
+
logger.info(f"ํ
ํฌ๋๋ก์ง ๋ฐฐ๊ฒฝ ์ต์
์: {len(tech_choices)}")
|
105 |
+
logger.info(f"์ปฌ๋ฌํ ํจํด ๋ฐฐ๊ฒฝ ์ต์
์: {len(colorful_choices)}")
|
106 |
+
|
107 |
+
return {
|
108 |
+
"simple": simple_choices,
|
109 |
+
"studio": studio_choices,
|
110 |
+
"nature": nature_choices,
|
111 |
+
"indoor": indoor_choices,
|
112 |
+
"tech": tech_choices,
|
113 |
+
"colorful": colorful_choices,
|
114 |
+
"abstract": abstract_choices
|
115 |
+
}
|
116 |
+
|
117 |
+
|
118 |
# ------------------- ๊ธฐ๋ณธ ์ ํธ๋ฆฌํฐ ํจ์ -------------------
|
119 |
def save_binary_file(file_name, data):
|
120 |
with open(file_name, "wb") as f:
|
|
|
479 |
|
480 |
# ------------------- Gradio ์ธํฐํ์ด์ค ๊ตฌ์ฑ -------------------
|
481 |
def create_app():
|
482 |
+
# ๋๋กญ๋ค์ด ์ต์
์ด๊ธฐํ
|
483 |
+
dropdown_options = initialize_dropdowns()
|
484 |
+
|
485 |
with gr.Blocks(title="๊ณ ๊ธ ์ํ ์ด๋ฏธ์ง ๋ฐฐ๊ฒฝ ํ๋กฌํํธ ๋ฐ ์ด๋ฏธ์ง ์์ฑ") as demo:
|
486 |
gr.Markdown("# ๊ณ ๊ธ ์ํ ์ด๋ฏธ์ง ๋ฐฐ๊ฒฝ ํ๋กฌํํธ ๋ฐ ์ด๋ฏธ์ง ์์ฑ")
|
487 |
gr.Markdown(
|
|
|
497 |
value="์ฌํ ๋ฐฐ๊ฒฝ"
|
498 |
)
|
499 |
simple_dropdown = gr.Dropdown(
|
500 |
+
choices=dropdown_options["simple"],
|
501 |
+
value=dropdown_options["simple"][0] if dropdown_options["simple"] else None,
|
502 |
label="์ฌํ ๋ฐฐ๊ฒฝ ์ ํ",
|
503 |
visible=True,
|
504 |
interactive=True
|
505 |
)
|
506 |
studio_dropdown = gr.Dropdown(
|
507 |
+
choices=dropdown_options["studio"],
|
508 |
+
value=dropdown_options["studio"][0] if dropdown_options["studio"] else None,
|
509 |
label="์คํ๋์ค ๋ฐฐ๊ฒฝ ์ ํ",
|
510 |
visible=False,
|
511 |
interactive=True
|
512 |
)
|
513 |
nature_dropdown = gr.Dropdown(
|
514 |
+
choices=dropdown_options["nature"],
|
515 |
+
value=dropdown_options["nature"][0] if dropdown_options["nature"] else None,
|
516 |
label="์์ฐ ํ๊ฒฝ ์ ํ",
|
517 |
visible=False,
|
518 |
interactive=True
|
519 |
)
|
520 |
indoor_dropdown = gr.Dropdown(
|
521 |
+
choices=dropdown_options["indoor"],
|
522 |
+
value=dropdown_options["indoor"][0] if dropdown_options["indoor"] else None,
|
523 |
label="์ค๋ด ํ๊ฒฝ ์ ํ",
|
524 |
visible=False,
|
525 |
interactive=True
|
526 |
)
|
527 |
tech_dropdown = gr.Dropdown(
|
528 |
+
choices=dropdown_options["tech"],
|
529 |
+
value=dropdown_options["tech"][0] if dropdown_options["tech"] else None,
|
530 |
label="ํ
ํฌ๋๋ก์ง ๋ฐฐ๊ฒฝ ์ ํ",
|
531 |
visible=False,
|
532 |
interactive=True
|
533 |
)
|
534 |
colorful_dropdown = gr.Dropdown(
|
535 |
+
choices=dropdown_options["colorful"],
|
536 |
+
value=dropdown_options["colorful"][0] if dropdown_options["colorful"] else None,
|
537 |
label="์ปฌ๋ฌํ ํจํด ๋ฐฐ๊ฒฝ ์ ํ",
|
538 |
visible=False,
|
539 |
interactive=True
|
540 |
)
|
541 |
abstract_dropdown = gr.Dropdown(
|
542 |
+
choices=dropdown_options["abstract"],
|
543 |
+
value=dropdown_options["abstract"][0] if dropdown_options["abstract"] else None,
|
544 |
label="์ถ์/ํน์ ๋ฐฐ๊ฒฝ ์ ํ",
|
545 |
visible=False,
|
546 |
interactive=True
|