Spaces:
Sleeping
Sleeping
Update pdf_generator.py
Browse files- pdf_generator.py +13 -3
pdf_generator.py
CHANGED
@@ -154,7 +154,7 @@ def process_quantitative_criteria(answer, styles):
|
|
154 |
return story
|
155 |
|
156 |
def parse_quantitative_criteria(input_string):
|
157 |
-
match = re.match(r'(.+):\s*([-+]?(?:\d*\.*\d+)(?:%)?)
|
158 |
if match:
|
159 |
name, value, min_val, max_val = match.groups()
|
160 |
name = name.strip()
|
@@ -162,13 +162,23 @@ def parse_quantitative_criteria(input_string):
|
|
162 |
# Handle percentage inputs
|
163 |
is_percentage = '%' in value or '%' in min_val or '%' in max_val
|
164 |
value = float(value.rstrip('%'))
|
165 |
-
min_val = float(min_val.rstrip('%')
|
166 |
-
max_val = float(max_val.rstrip('%')
|
167 |
|
168 |
if is_percentage:
|
169 |
value /= 100
|
170 |
min_val /= 100
|
171 |
max_val /= 100
|
172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
return name, value, min_val, max_val, is_percentage
|
174 |
return None
|
|
|
154 |
return story
|
155 |
|
156 |
def parse_quantitative_criteria(input_string):
|
157 |
+
match = re.match(r'(.+):\s*([-+]?(?:\d*\.*\d+)(?:%)?)\s*\[([-+]?(?:\d*\.*\d+)(?:%)?)\s*-\s*([-+]?(?:\d*\.*\d+)(?:%)?)?\]', input_string)
|
158 |
if match:
|
159 |
name, value, min_val, max_val = match.groups()
|
160 |
name = name.strip()
|
|
|
162 |
# Handle percentage inputs
|
163 |
is_percentage = '%' in value or '%' in min_val or '%' in max_val
|
164 |
value = float(value.rstrip('%'))
|
165 |
+
min_val = float(min_val.rstrip('%'))
|
166 |
+
max_val = float(max_val.rstrip('%'))
|
167 |
|
168 |
if is_percentage:
|
169 |
value /= 100
|
170 |
min_val /= 100
|
171 |
max_val /= 100
|
172 |
|
173 |
+
# Determine if the values should be integers or floats
|
174 |
+
if value.is_integer() and min_val.is_integer() and max_val.is_integer():
|
175 |
+
value = int(value)
|
176 |
+
min_val = int(min_val)
|
177 |
+
max_val = int(max_val)
|
178 |
+
else:
|
179 |
+
value = float(value)
|
180 |
+
min_val = float(min_val)
|
181 |
+
max_val = float(max_val)
|
182 |
+
|
183 |
return name, value, min_val, max_val, is_percentage
|
184 |
return None
|