iisadia commited on
Commit
e94965a
·
verified ·
1 Parent(s): 019bd86

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -20
app.py CHANGED
@@ -82,7 +82,6 @@ def analyze_requirement(requirement):
82
  "Rewritten": rewritten
83
  }
84
 
85
- # Function to generate a PDF report
86
  def generate_pdf_report(results):
87
  pdf = FPDF()
88
  pdf.add_page()
@@ -90,40 +89,44 @@ def generate_pdf_report(results):
90
 
91
  # Add watermark
92
  pdf.set_font("Arial", 'B', 50)
93
- pdf.set_text_color(230, 230, 230) # Light gray color for watermark
94
- pdf.rotate(45) # Rotate the text for watermark effect
95
  pdf.text(60, 150, "AI Powered Requirement Analysis")
96
- pdf.rotate(0) # Reset rotation
97
 
98
- # Add title and date/time
99
  pdf.set_font("Arial", 'B', 16)
100
- pdf.set_text_color(0, 0, 0) # Black color for title
101
  pdf.cell(200, 10, txt="AI Powered Requirement Analysis and Defect Detection", ln=True, align='C')
102
  pdf.set_font("Arial", size=12)
103
  pdf.cell(200, 10, txt=f"Report Generated on: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}", ln=True, align='C')
104
- pdf.ln(10) # Add some space
105
 
106
- # Add requirements analysis
107
- pdf.set_font("Arial", size=12)
108
  for i, result in enumerate(results, start=1):
109
- if pdf.get_y() > 250: # If the content is near the bottom of the page
110
- pdf.add_page() # Add a new page
 
 
111
  pdf.set_font("Arial", 'B', 16)
 
112
  pdf.cell(200, 10, txt="AI Powered Requirement Analysis and Defect Detection", ln=True, align='C')
113
  pdf.set_font("Arial", size=12)
114
  pdf.cell(200, 10, txt=f"Report Generated on: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}", ln=True, align='C')
115
- pdf.ln(10) # Add some space
116
 
117
- # Add requirement details
118
  pdf.set_font("Arial", 'B', 14)
119
- pdf.multi_cell(200, 10, txt=f"Requirement R{i}: {result['Requirement']}", align='L')
120
  pdf.set_font("Arial", size=12)
121
- pdf.multi_cell(200, 10, txt=f"Type: {result['Type']}", align='L')
122
- pdf.multi_cell(200, 10, txt=f"Domain: {result['Domain']}", align='L')
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)
 
82
  "Rewritten": rewritten
83
  }
84
 
 
85
  def generate_pdf_report(results):
86
  pdf = FPDF()
87
  pdf.add_page()
 
89
 
90
  # Add watermark
91
  pdf.set_font("Arial", 'B', 50)
92
+ pdf.set_text_color(230, 230, 230)
93
+ pdf.rotate(45)
94
  pdf.text(60, 150, "AI Powered Requirement Analysis")
95
+ pdf.rotate(0)
96
 
97
+ # Reset font for main content
98
  pdf.set_font("Arial", 'B', 16)
99
+ pdf.set_text_color(0, 0, 0)
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)
104
 
 
 
105
  for i, result in enumerate(results, start=1):
106
+ # Check page bounds and add new page if needed
107
+ if pdf.get_y() > 250:
108
+ pdf.add_page()
109
+ # RE-APPLY FONT SETTINGS AFTER NEW PAGE
110
  pdf.set_font("Arial", 'B', 16)
111
+ pdf.set_text_color(0, 0, 0)
112
  pdf.cell(200, 10, txt="AI Powered Requirement Analysis and Defect Detection", ln=True, align='C')
113
  pdf.set_font("Arial", size=12)
114
  pdf.cell(200, 10, txt=f"Report Generated on: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}", ln=True, align='C')
115
+ pdf.ln(10)
116
 
117
+ # MAIN CONTENT WITH PROPER FONT INHERITANCE
118
  pdf.set_font("Arial", 'B', 14)
119
+ pdf.multi_cell(0, 10, txt=f"Requirement R{i}: {result['Requirement']}")
120
  pdf.set_font("Arial", size=12)
121
+ pdf.multi_cell(0, 10, txt=f"Type: {result['Type']}")
122
+ pdf.multi_cell(0, 10, txt=f"Domain: {result['Domain']}")
123
+ pdf.multi_cell(0, 10, txt=f"Stakeholders: {result['Stakeholders']}")
124
+ pdf.multi_cell(0, 10, txt=f"Defects: {result['Defects']}")
125
+ pdf.multi_cell(0, 10, txt=f"Rewritten: {result['Rewritten']}")
126
+ pdf.ln(8)
127
+ pdf.set_draw_color(200)
128
+ pdf.cell(0, 0, border='T')
129
+ pdf.ln(10)
130
 
131
  pdf_output = "requirements_report.pdf"
132
  pdf.output(pdf_output)