|
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}) |