| from flask import Flask, render_template, request, jsonify |
| import os |
| from dotenv import load_dotenv |
| from chatbot import get_krishna_response |
| from image_api import generate_krishna_image, generate_comic_strip |
| from countdown import get_countdown |
| try: |
| from firebase_config import save_chat_message, get_chat_history |
| firebase_enabled = True |
| except ImportError: |
| firebase_enabled = False |
|
|
| |
| load_dotenv() |
| app = Flask(__name__) |
|
|
| @app.route('/') |
| def home(): |
| return render_template('home.html') |
|
|
| @app.route('/chat', methods=['GET', 'POST']) |
| def chat(): |
| if request.method == 'POST': |
| user_input = request.form['message'] |
| reply = get_krishna_response(user_input) |
| if firebase_enabled: |
| save_chat_message(user_input, reply) |
| return jsonify({'reply': reply}) |
| chat_history = get_chat_history() if firebase_enabled else [] |
| return render_template('chat.html', chat_history=chat_history) |
|
|
| @app.route('/message') |
| def message(): |
| return render_template('message.html') |
|
|
| @app.route('/image', methods=['POST']) |
| def image(): |
| prompt = request.json['prompt'] |
| image_url = generate_krishna_image(prompt) |
| if image_url: |
| return jsonify({'image_url': image_url}) |
| return jsonify({'error': 'Failed to generate image'}), 500 |
|
|
| @app.route('/comic', methods=['GET']) |
| def comic(): |
| comic_images = generate_comic_strip() |
| return jsonify({'comic_images': comic_images}) |
|
|
| @app.route('/countdown') |
| def countdown(): |
| days_left = get_countdown() |
| return jsonify({'days': days_left}) |
|
|
| if __name__ == '__main__': |
| app.run(host='0.0.0.0', port=5000) |