Spaces:
Sleeping
Sleeping
File size: 3,927 Bytes
01780bf bb51932 01780bf a1cfef6 01780bf a1cfef6 6ddba4d 01780bf 2fab7d3 c1d8f2a 3480da8 9d5c08a 2fab7d3 3480da8 5ef3837 ca53ea8 9d5c08a 3480da8 bb51932 a40aeaa c1d8f2a a4315ce c1d8f2a 1aa8118 5ef3837 1aa8118 9d5c08a 1aa8118 c32f608 c1d8f2a a40aeaa c1d8f2a 1aa8118 5ef3837 1aa8118 9d5c08a ca53ea8 efa0646 c1d8f2a ca53ea8 c1d8f2a ca53ea8 c1d8f2a ca53ea8 c1d8f2a 1aa8118 5ef3837 c1d8f2a 2cd82ce efa0646 c1d8f2a 2fab7d3 bb51932 a1cfef6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
import torch
from flask import Flask, render_template, request, jsonify, redirect, session, url_for
import json
import os
from transformers import pipeline
from gtts import gTTS
from pydub import AudioSegment
from pydub.silence import detect_nonsilent
from transformers import AutoConfig
import time
from waitress import serve
from simple_salesforce import Salesforce
import requests
# β
Initialize Flask App
app = Flask(__name__, template_folder="templates")
app.secret_key = os.urandom(24)
# β
Enable Debug Mode
app.config["DEBUG"] = True
# β
Salesforce Connection Setup
try:
print("Attempting to connect to Salesforce...")
sf = Salesforce(username='[email protected]',
password='Sati@1020',
security_token='sSSjyhInIsUohKpG8sHzty2q')
print("β
Connected to Salesforce successfully!")
except Exception as e:
print(f"β Failed to connect to Salesforce: {str(e)}")
# β
HOME ROUTE (Loads `index.html`)
@app.route("/", methods=["GET"])
def home():
return render_template("index.html")
# β
RENDER DASHBOARD PAGE
@app.route("/dashboard", methods=["GET"])
def dashboard():
return render_template("dashboard.html")
# β
RENDER MENU PAGE
@app.route("/menu_page", methods=["GET"])
def menu_page():
return render_template("menu_page.html")
# β
REGISTER API: Create a new Customer in Salesforce
@app.route("/register", methods=["POST"])
def register():
print("β‘ Register API hit")
data = request.json
if not data or "name" not in data or "email" not in data or "phone" not in data:
return jsonify({"error": "Missing required fields"}), 400
try:
new_customer = sf.Customer_Login__c.create({
'Name': data["name"],
'Email__c': data["email"],
'Phone_Number__c': data["phone"]
})
return jsonify({"success": True, "message": "Registration successful", "customer_id": new_customer["id"]})
except Exception as e:
return jsonify({"error": f"Registration failed: {str(e)}"}), 500
# β
LOGIN API: Validate User Credentials
@app.route("/login", methods=["POST"])
def login():
print("β‘ Login API hit")
data = request.json
if not data or "email" not in data or "phone" not in data:
return jsonify({"error": "Missing email or phone"}), 400
try:
query = f"SELECT Id, Name FROM Customer_Login__c WHERE Email__c = '{data['email']}' AND Phone_Number__c = '{data['phone']}'"
result = sf.query(query)
if result["totalSize"] > 0:
user = result["records"][0]
session["customer_id"] = user["Id"] # Store in session
return jsonify({
"success": True,
"message": "Login successful",
"customer_id": user["Id"],
"name": user["Name"]
})
else:
return jsonify({"error": "Invalid login credentials"}), 401
except Exception as e:
return jsonify({"error": f"Login failed: {str(e)}"}), 500
# β
MENU API: Fetch Menu Items from Salesforce
@app.route("/menu", methods=["GET"])
def get_menu():
print("β‘ Menu API hit")
try:
query = "SELECT Name, Price__c, Ingredients__c, Category__c FROM Menu_Item__c"
result = sf.query(query)
menu_items = []
for item in result["records"]:
menu_items.append({
"name": item["Name"],
"price": item["Price__c"],
"ingredients": item["Ingredients__c"],
"category": item["Category__c"]
})
return jsonify({"success": True, "menu": menu_items})
except Exception as e:
return jsonify({"error": f"Failed to fetch menu: {str(e)}"}), 500)
# β
START PRODUCTION SERVER
if __name__ == "__main__":
print("β
Starting Flask API Server on port 7860...")
serve(app, host="0.0.0.0", port=7860)
|