iisadia commited on
Commit
2861eea
·
verified ·
1 Parent(s): 738ceab

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -34
app.py CHANGED
@@ -86,50 +86,44 @@ def generate_pdf_report(results):
86
  pdf = FPDF()
87
  pdf.add_page()
88
  pdf.set_font("Arial", size=12)
89
-
90
- # Page dimensions (A4: 210mm x 297mm)
91
- page_width = 210
92
- margin = 20
93
- effective_width = page_width - 2*margin
94
-
95
- # Watermark
96
  pdf.set_font("Arial", 'B', 50)
97
- pdf.set_text_color(230, 230, 230)
98
- pdf.rotate(45)
99
- pdf.text(60, 150, "AI Powered Requirement Defects Analysis")
100
- pdf.rotate(0)
101
-
102
- # Reset font for content
103
  pdf.set_font("Arial", 'B', 16)
104
- pdf.set_text_color(0, 0, 0)
105
- pdf.cell(effective_width, 10, txt="AI Powered Requirement Analysis", ln=True, align='C')
106
  pdf.set_font("Arial", size=12)
107
- pdf.cell(effective_width, 10, txt=f"Report Generated: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}", ln=True, align='C')
108
- pdf.ln(10)
109
 
 
 
110
  for i, result in enumerate(results, start=1):
111
- if pdf.get_y() > 250: # Check if near bottom
112
- pdf.add_page()
113
- # Reset formatting for new page
114
  pdf.set_font("Arial", 'B', 16)
115
- pdf.cell(effective_width, 10, txt="AI Powered Requirement Analysis", ln=True, align='C')
116
  pdf.set_font("Arial", size=12)
117
- pdf.cell(effective_width, 10, txt=f"Report Generated: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}", ln=True, align='C')
118
- pdf.ln(10)
119
 
120
- # Requirement content with proper widths
121
  pdf.set_font("Arial", 'B', 14)
122
- pdf.multi_cell(effective_width, 8, txt=f"Requirement {i}: {result['Requirement']}")
123
  pdf.set_font("Arial", size=12)
124
- pdf.multi_cell(effective_width, 8, txt=f"Type: {result['Type']}")
125
- pdf.multi_cell(effective_width, 8, txt=f"Domain: {result['Domain']}")
126
- pdf.multi_cell(effective_width, 8, txt=f"Stakeholders: {result['Stakeholders']}")
127
- pdf.multi_cell(effective_width, 8, txt=f"Defects: {result['Defects']}")
128
- pdf.multi_cell(effective_width, 8, txt=f"Rewritten: {result['Rewritten']}")
129
- pdf.ln(5)
130
- pdf.set_draw_color(200)
131
- pdf.cell(effective_width, 0, border='T')
132
- pdf.ln(8)
133
 
134
  pdf_output = "requirements_report.pdf"
135
  pdf.output(pdf_output)
 
86
  pdf = FPDF()
87
  pdf.add_page()
88
  pdf.set_font("Arial", size=12)
89
+
90
+ # Add watermark
 
 
 
 
 
91
  pdf.set_font("Arial", 'B', 50)
92
+ pdf.set_text_color(230, 230, 230) # Light gray color for watermark
93
+ pdf.rotate(45) # Rotate the text for watermark effect
94
+ pdf.text(60, 150, "AI Powered Requirement Analysis")
95
+ pdf.rotate(0) # Reset rotation
96
+
97
+ # Add title and date/time
98
  pdf.set_font("Arial", 'B', 16)
99
+ pdf.set_text_color(0, 0, 0) # Black color for title
100
+ pdf.cell(200, 10, txt="AI Powered Requirement Analysis and Defect Detection", ln=True, align='C')
101
  pdf.set_font("Arial", size=12)
102
+ pdf.cell(200, 10, txt=f"Report Generated on: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}", ln=True, align='C')
103
+ pdf.ln(10) # Add some space
104
 
105
+ # Add requirements analysis
106
+ pdf.set_font("Arial", size=12)
107
  for i, result in enumerate(results, start=1):
108
+ if pdf.get_y() > 250: # If the content is near the bottom of the page
109
+ pdf.add_page() # Add a new page
 
110
  pdf.set_font("Arial", 'B', 16)
111
+ pdf.cell(200, 10, txt="AI Powered Requirement Analysis and Defect Detection", ln=True, align='C')
112
  pdf.set_font("Arial", size=12)
113
+ pdf.cell(200, 10, txt=f"Report Generated on: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}", ln=True, align='C')
114
+ pdf.ln(10) # Add some space
115
 
116
+ # Add requirement details - MODIFIED TO INCLUDE STAKEHOLDERS
117
  pdf.set_font("Arial", 'B', 14)
118
+ pdf.multi_cell(200, 10, txt=f"Requirement R{i}: {result['Requirement']}", align='L')
119
  pdf.set_font("Arial", size=12)
120
+ pdf.multi_cell(200, 10, txt=f"Type: {result['Type']}", align='L')
121
+ pdf.multi_cell(200, 10, txt=f"Domain: {result['Domain']}", align='L')
122
+ pdf.multi_cell(200, 10, txt=f"Stakeholders: {result['Stakeholders']}", align='L') # Added this line
123
+ pdf.multi_cell(200, 10, txt=f"Defects: {result['Defects']}", align='L')
124
+ pdf.multi_cell(200, 10, txt=f"Rewritten: {result['Rewritten']}", align='L')
125
+ pdf.multi_cell(200, 10, txt="-" * 50, align='L')
126
+ pdf.ln(5) # Add some space between requirements
 
 
127
 
128
  pdf_output = "requirements_report.pdf"
129
  pdf.output(pdf_output)