File size: 2,762 Bytes
22bea9a
cd94e4f
66083bc
95585ab
66083bc
 
2fab7d3
 
5127047
95585ab
2fab7d3
95585ab
5127047
2fab7d3
 
 
95585ab
22bea9a
95585ab
ca0b532
22bea9a
e21d37e
84b8da9
e21d37e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c9ecf28
696d0f0
 
 
e21d37e
00af749
ca0b532
00af749
66083bc
 
ca0b532
5127047
66083bc
 
 
5127047
66083bc
 
2fab7d3
ca0b532
 
2fab7d3
5127047
1a545f7
cd94e4f
 
ca0b532
e21d37e
cd94e4f
 
 
 
ca0b532
cd94e4f
 
 
ca0b532
5127047
ca0b532
 
 
5127047
2fab7d3
8eee015
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
import torch
from flask import Flask, render_template, request, jsonify, redirect
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 AutoConfig for the config object
import time
from waitress import serve
from simple_salesforce import Salesforce
import requests  # Import requests for exception handling

app = Flask(__name__)

device = "cuda" if torch.cuda.is_available() else "cpu"

config = AutoConfig.from_pretrained("openai/whisper-small")
config.update({"timeout": 60})

try:
    sf = Salesforce(username='[email protected]', password='Sati@1020', security_token='sSSjyhInIsUohKpG8sHzty2q')
except Exception as e:
    print(f"Failed to connect to Salesforce: {str(e)}")

def create_salesforce_record(sf, name, email, phone_number):
    try:
        customer_login = sf.Customer_Login__c.create({
            'Name': name,
            'Email__c': email,
            'Phone_Number__c': phone_number
        })
        return customer_login
    except Exception as e:
        raise Exception(f"Failed to create record: {str(e)}")

def get_menu_items(sf):
    query = "SELECT Name, Price__c, Ingredients__c, Category__c FROM Menu_Item__c"
    result = sf.query(query)
    return result['records']

@app.route("/")
def index():
    return render_template("index.html")

@app.route("/dashboard", methods=["GET"])
def dashboard():
    return render_template("dashboard.html")

@app.route('/login', methods=['POST'])
def login():
    data = request.json
    name = data.get('name')
    email = data.get('email')
    phone_number = data.get('phone_number')

    if not name or not email or not phone_number:
        return jsonify({'error': 'Missing required fields'}), 400

    try:
        create_salesforce_record(sf, name, email, phone_number)
        return redirect("/menu")
    except Exception as e:
        return jsonify({'error': f'Failed to create record in Salesforce: {str(e)}'}), 500

@app.route("/menu", methods=["GET"])
def menu_page():
    menu_items = get_menu_items(sf)
    menu_data = [{"name": item['Name'], "price": item['Price__c'], "ingredients": item['Ingredients__c'], "category": item['Category__c']} for item in menu_items]
    return render_template("menu_page.html", menu_items=menu_data)

@app.route("/cart", methods=["GET"])
def cart():
    return render_template("cart_page.html")

@app.route("/order-summary", methods=["GET"])
def order_summary():
    return render_template("order_summary.html")

@app.route("/final_order", methods=["GET"])
def final_order():
    return render_template("final_order.html")

if __name__ == "__main__":
    serve(app, host="0.0.0.0", port=7860)