Akshayram1 commited on
Commit
774cd2d
·
verified ·
1 Parent(s): 6d55165

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -19
app.py CHANGED
@@ -4,6 +4,7 @@ from crewai_tools import WebsiteSearchTool
4
  from dotenv import load_dotenv
5
  import os
6
  from fpdf import FPDF
 
7
 
8
  # Load environment variables
9
  load_dotenv()
@@ -88,10 +89,6 @@ if generate_blog:
88
  try:
89
  result = crew.kickoff(inputs={'topic': news_link})
90
 
91
- # Inspect result attributes for debugging
92
- st.subheader("Result Attributes")
93
- st.write(dir(result))
94
-
95
  # Access task outputs
96
  try:
97
  task_outputs = result.tasks_output
@@ -99,12 +96,6 @@ if generate_blog:
99
  st.error("The result object does not have 'tasks_output'.")
100
  task_outputs = []
101
 
102
- # Display task outputs
103
- st.subheader("Task Outputs")
104
- for idx, task_output in enumerate(task_outputs):
105
- st.write(f"Task {idx + 1}:")
106
- st.json(task_output)
107
-
108
  # Extract blog content
109
  try:
110
  blog_content = task_outputs[1].raw
@@ -122,19 +113,24 @@ if generate_blog:
122
 
123
  if save_blog:
124
  try:
 
125
  pdf = FPDF()
126
  pdf.add_page()
127
  pdf.set_font("Arial", size=12)
128
  pdf.multi_cell(0, 10, blog_content)
129
- pdf.output("generated_blog.pdf")
130
-
131
- with open("generated_blog.pdf", "rb") as pdf_file:
132
- st.download_button(
133
- label="Download Blog as PDF",
134
- data=pdf_file,
135
- file_name="generated_blog.pdf",
136
- mime="application/pdf"
137
- )
 
 
 
 
138
  st.success("Blog saved as PDF and ready for download!")
139
  except Exception as e:
140
  st.error(f"Failed to save blog as PDF: {e}")
 
4
  from dotenv import load_dotenv
5
  import os
6
  from fpdf import FPDF
7
+ from io import BytesIO # To handle in-memory files
8
 
9
  # Load environment variables
10
  load_dotenv()
 
89
  try:
90
  result = crew.kickoff(inputs={'topic': news_link})
91
 
 
 
 
 
92
  # Access task outputs
93
  try:
94
  task_outputs = result.tasks_output
 
96
  st.error("The result object does not have 'tasks_output'.")
97
  task_outputs = []
98
 
 
 
 
 
 
 
99
  # Extract blog content
100
  try:
101
  blog_content = task_outputs[1].raw
 
113
 
114
  if save_blog:
115
  try:
116
+ # Generate PDF in-memory
117
  pdf = FPDF()
118
  pdf.add_page()
119
  pdf.set_font("Arial", size=12)
120
  pdf.multi_cell(0, 10, blog_content)
121
+
122
+ # Use BytesIO for in-memory file
123
+ pdf_buffer = BytesIO()
124
+ pdf.output(pdf_buffer)
125
+ pdf_buffer.seek(0) # Reset buffer pointer
126
+
127
+ # Provide download button
128
+ st.download_button(
129
+ label="Download Blog as PDF",
130
+ data=pdf_buffer,
131
+ file_name="generated_blog.pdf",
132
+ mime="application/pdf"
133
+ )
134
  st.success("Blog saved as PDF and ready for download!")
135
  except Exception as e:
136
  st.error(f"Failed to save blog as PDF: {e}")