from flask import Flask, request, render_template, send_file import json from io import BytesIO import zipfile from bs4 import BeautifulSoup app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def index(): reference = '' version = '' verse = '' error = '' if request.method == 'POST': reference = request.form.get('scripture_reference') version = request.form.get('version') # Map version to ESV Bible ID bible_id = { 'NRSV': 'nrs', 'NIV': 'niv', 'NLT': 'nlt' }.get(version) if bible_id and reference: # ESV API endpoint api_key = 'YOUR_ESV_API_KEY' # Replace with your actual API key url = f'https://api.esv.org/v2/verse?verse={reference}&bible={bible_id}&key={api_key}' try: response = request.get(url) response.raise_for_status() data = response.json() if data['verses']: verse = data['verses'][0]['text'] else: error = "Verse not found." except request.RequestException as e: error = f"Error fetching verse: {str(e)}" else: error = "Please provide both a reference and a version." # Print to stdout print(f"Reference: {reference}, Version: {version}, Verse: {verse}, Error: {error}") return render_template('index.html', reference=reference, version=version, verse=verse, error=error) if __name__ == '__main__': app.run()