MilanM commited on
Commit
3a016f4
·
verified ·
1 Parent(s): 1a5096f

Update pdf_generator.py

Browse files
Files changed (1) hide show
  1. 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+)(?:%)?)(?:\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,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('%') if min_val else 0)
166
- max_val = float(max_val.rstrip('%') if max_val else 100)
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