Spaces:
Sleeping
Sleeping
| # app.py | |
| from flask import Flask, render_template, request, send_file | |
| import markdown | |
| import os | |
| from utils.markdown_to_docx import save_as_docx | |
| from utils.markdown_to_pdf import save_as_pdf | |
| # Set environment variables to ensure playwright finds Chromium | |
| os.environ["PLAYWRIGHT_BROWSERS_PATH"] = "/usr/local/share/pw-browsers" | |
| os.environ["PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD"] = "1" | |
| app = Flask(__name__) | |
| def index(): | |
| return render_template("index.html") | |
| def export(): | |
| md_text = request.form["markdown"] | |
| export_type = request.form["type"] # 'docx' or 'pdf' | |
| if export_type == "docx": | |
| output_path = save_as_docx(md_text) | |
| elif export_type == "pdf": | |
| output_path = save_as_pdf(md_text) | |
| else: | |
| return "Unsupported format", 400 | |
| return send_file(output_path, as_attachment=True) | |
| if __name__ == "__main__": | |
| output_dir = "/tmp/output" | |
| os.makedirs(output_dir, exist_ok=True) | |
| port = int(os.environ.get("PORT", 7860)) | |
| app.run(host="0.0.0.0", port=port) | |