MilanM commited on
Commit
d6d92c4
·
verified ·
1 Parent(s): 862715d

Update pdf_generator.py

Browse files
Files changed (1) hide show
  1. pdf_generator.py +10 -5
pdf_generator.py CHANGED
@@ -38,13 +38,13 @@ class SliderFlowable(Flowable):
38
  drawing.add(String(0, 60, self.name, fontSize=12, fillColor=colors.HexColor("#26004d")))
39
 
40
  # Add range labels
41
- min_str = self.format_value(self.min_val)
42
- max_str = self.format_value(self.max_val)
43
  drawing.add(String(40, 35, min_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
44
  drawing.add(String(340, 35, max_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
45
 
46
  # Add value label
47
- value_str = self.format_value(self.value)
48
  drawing.add(String(value_width - 20, 60, value_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
49
 
50
  # Add value marker
@@ -52,14 +52,19 @@ class SliderFlowable(Flowable):
52
 
53
  drawing.drawOn(self.canv, 0, 0)
54
 
55
- def format_value(self, value):
56
  if self.is_percentage:
57
- return f"{value:.1f}%"
58
  elif self.is_integer:
59
  return f"{int(value)}"
60
  else:
61
  return f"{value:.2f}"
62
 
 
 
 
 
 
63
  def create_styles():
64
  styles = getSampleStyleSheet()
65
  styles['Title'].fontName = 'Helvetica-Bold'
 
38
  drawing.add(String(0, 60, self.name, fontSize=12, fillColor=colors.HexColor("#26004d")))
39
 
40
  # Add range labels
41
+ min_str = self.format_label(self.min_val)
42
+ max_str = self.format_label(self.max_val)
43
  drawing.add(String(40, 35, min_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
44
  drawing.add(String(340, 35, max_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
45
 
46
  # Add value label
47
+ value_str = self.format_label(self.value)
48
  drawing.add(String(value_width - 20, 60, value_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
49
 
50
  # Add value marker
 
52
 
53
  drawing.drawOn(self.canv, 0, 0)
54
 
55
+ def format_label(self, value):
56
  if self.is_percentage:
57
+ return f"{value}%"
58
  elif self.is_integer:
59
  return f"{int(value)}"
60
  else:
61
  return f"{value:.2f}"
62
 
63
+ def format_value(self, value):
64
+ if self.is_percentage:
65
+ return value / 100 # Convert percentage back to decimal for calculations
66
+ return value
67
+
68
  def create_styles():
69
  styles = getSampleStyleSheet()
70
  styles['Title'].fontName = 'Helvetica-Bold'