Spaces:
Sleeping
Sleeping
Tony Lian
commited on
Commit
•
e6327f4
1
Parent(s):
2622704
Improve error handling in parsing
Browse files- utils/parse.py +10 -7
utils/parse.py
CHANGED
@@ -5,8 +5,11 @@ import matplotlib.pyplot as plt
|
|
5 |
import numpy as np
|
6 |
import warnings
|
7 |
import inflect
|
|
|
8 |
|
9 |
p = inflect.engine()
|
|
|
|
|
10 |
|
11 |
img_dir = "imgs"
|
12 |
objects_text = "Objects: "
|
@@ -27,7 +30,7 @@ def parse_input(text=None, no_input=False):
|
|
27 |
|
28 |
if not text:
|
29 |
if no_input:
|
30 |
-
|
31 |
|
32 |
text = input("Enter the response: ")
|
33 |
if objects_text in text:
|
@@ -38,7 +41,7 @@ def parse_input(text=None, no_input=False):
|
|
38 |
gen_boxes, bg_prompt = text_split
|
39 |
elif len(text_split) == 1:
|
40 |
if no_input:
|
41 |
-
|
42 |
gen_boxes = text
|
43 |
bg_prompt = ""
|
44 |
while not bg_prompt:
|
@@ -47,7 +50,7 @@ def parse_input(text=None, no_input=False):
|
|
47 |
if bg_prompt_text_no_trailing_space in bg_prompt:
|
48 |
bg_prompt = bg_prompt.split(bg_prompt_text_no_trailing_space)[1]
|
49 |
else:
|
50 |
-
raise
|
51 |
try:
|
52 |
gen_boxes = ast.literal_eval(gen_boxes)
|
53 |
except SyntaxError as e:
|
@@ -65,7 +68,7 @@ def parse_input_with_negative(text=None, no_input=False):
|
|
65 |
|
66 |
if not text:
|
67 |
if no_input:
|
68 |
-
|
69 |
|
70 |
text = input("Enter the response: ")
|
71 |
if objects_text in text:
|
@@ -76,7 +79,7 @@ def parse_input_with_negative(text=None, no_input=False):
|
|
76 |
gen_boxes, text_rem = text_split
|
77 |
elif len(text_split) == 1:
|
78 |
if no_input:
|
79 |
-
|
80 |
gen_boxes = text
|
81 |
text_rem = ""
|
82 |
while not text_rem:
|
@@ -85,7 +88,7 @@ def parse_input_with_negative(text=None, no_input=False):
|
|
85 |
if bg_prompt_text_no_trailing_space in text_rem:
|
86 |
text_rem = text_rem.split(bg_prompt_text_no_trailing_space)[1]
|
87 |
else:
|
88 |
-
raise
|
89 |
|
90 |
text_split = text_rem.split(neg_prompt_text_no_trailing_space)
|
91 |
|
@@ -101,7 +104,7 @@ def parse_input_with_negative(text=None, no_input=False):
|
|
101 |
if neg_prompt_text_no_trailing_space in neg_prompt:
|
102 |
neg_prompt = neg_prompt.split(neg_prompt_text_no_trailing_space)[1]
|
103 |
else:
|
104 |
-
raise
|
105 |
|
106 |
try:
|
107 |
gen_boxes = ast.literal_eval(gen_boxes)
|
|
|
5 |
import numpy as np
|
6 |
import warnings
|
7 |
import inflect
|
8 |
+
import gradio as gr
|
9 |
|
10 |
p = inflect.engine()
|
11 |
+
# user_error = ValueError
|
12 |
+
user_error = gr.Error
|
13 |
|
14 |
img_dir = "imgs"
|
15 |
objects_text = "Objects: "
|
|
|
30 |
|
31 |
if not text:
|
32 |
if no_input:
|
33 |
+
raise user_error(f"No input parsed in \"{text}\".")
|
34 |
|
35 |
text = input("Enter the response: ")
|
36 |
if objects_text in text:
|
|
|
41 |
gen_boxes, bg_prompt = text_split
|
42 |
elif len(text_split) == 1:
|
43 |
if no_input:
|
44 |
+
raise user_error(f"Invalid input (no background prompt): {text}")
|
45 |
gen_boxes = text
|
46 |
bg_prompt = ""
|
47 |
while not bg_prompt:
|
|
|
50 |
if bg_prompt_text_no_trailing_space in bg_prompt:
|
51 |
bg_prompt = bg_prompt.split(bg_prompt_text_no_trailing_space)[1]
|
52 |
else:
|
53 |
+
raise user_error(f"Invalid input (possibly multiple background prompts): {text}")
|
54 |
try:
|
55 |
gen_boxes = ast.literal_eval(gen_boxes)
|
56 |
except SyntaxError as e:
|
|
|
68 |
|
69 |
if not text:
|
70 |
if no_input:
|
71 |
+
raise user_error(f"No input parsed in \"{text}\".")
|
72 |
|
73 |
text = input("Enter the response: ")
|
74 |
if objects_text in text:
|
|
|
79 |
gen_boxes, text_rem = text_split
|
80 |
elif len(text_split) == 1:
|
81 |
if no_input:
|
82 |
+
raise user_error(f"Invalid input (no background prompt): {text}")
|
83 |
gen_boxes = text
|
84 |
text_rem = ""
|
85 |
while not text_rem:
|
|
|
88 |
if bg_prompt_text_no_trailing_space in text_rem:
|
89 |
text_rem = text_rem.split(bg_prompt_text_no_trailing_space)[1]
|
90 |
else:
|
91 |
+
raise user_error(f"Invalid input (possibly multiple background prompts): {text}")
|
92 |
|
93 |
text_split = text_rem.split(neg_prompt_text_no_trailing_space)
|
94 |
|
|
|
104 |
if neg_prompt_text_no_trailing_space in neg_prompt:
|
105 |
neg_prompt = neg_prompt.split(neg_prompt_text_no_trailing_space)[1]
|
106 |
else:
|
107 |
+
raise user_error(f"Invalid input (possibly multiple negative prompts): {text}")
|
108 |
|
109 |
try:
|
110 |
gen_boxes = ast.literal_eval(gen_boxes)
|