QuickAgent / BrowsingAgent /tools /ExportFile.py
varun324242's picture
Upload 58 files
0d3af20 verified
import base64
import os
from agency_swarm.tools import BaseTool
from .util import get_web_driver
class ExportFile(BaseTool):
"""This tool converts the current full web page into a file and returns its file_id. You can then send this file id back to the user for further processing."""
def run(self):
wd = get_web_driver()
from agency_swarm import get_openai_client
client = get_openai_client()
# Define the parameters for the PDF
params = {
'landscape': False,
'displayHeaderFooter': False,
'printBackground': True,
'preferCSSPageSize': True,
}
# Execute the command to print to PDF
result = wd.execute_cdp_cmd('Page.printToPDF', params)
pdf = result['data']
pdf_bytes = base64.b64decode(pdf)
# Save the PDF to a file
with open("exported_file.pdf", "wb") as f:
f.write(pdf_bytes)
file_id = client.files.create(file=open("exported_file.pdf", "rb"), purpose="assistants",).id
self._shared_state.set("file_id", file_id)
return "Success. File exported with id: `" + file_id + "` You can now send this file id back to the user."
if __name__ == "__main__":
wd = get_web_driver()
wd.get("https://www.google.com")
tool = ExportFile()
tool.run()