Spaces:
Sleeping
Sleeping
File size: 2,108 Bytes
c4b46b3 9b35d16 71978cc 4be2e38 c32c1af 4be2e38 84a5b18 71978cc 84a5b18 9b35d16 84a5b18 71978cc c4b46b3 84a5b18 a2f1a4d 4be2e38 a2f1a4d 84a5b18 71978cc a2f1a4d f8d0e6e c4b46b3 f8d0e6e c4b46b3 a2f1a4d c4b46b3 84a5b18 5119cc5 a2f1a4d 84a5b18 a2f1a4d 4be2e38 fba6dac |
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 |
from flask import Flask, render_template, request, jsonify
from simple_salesforce import Salesforce
from dotenv import load_dotenv
import os
# Load environment variables from .env file
load_dotenv()
app = Flask(__name__, template_folder='templates', static_folder='static')
# Function to get Salesforce connection
def get_salesforce_connection():
try:
sf = Salesforce(
username=os.getenv('SFDC_USERNAME'),
password=os.getenv('SFDC_PASSWORD'),
security_token=os.getenv('SFDC_SECURITY_TOKEN'),
domain=os.getenv('SFDC_DOMAIN', 'login')
)
return sf
except Exception as e:
print(f"Error connecting to Salesforce: {e}")
return None
# Initialize Salesforce connection (can be moved to request scope in production)
sf = get_salesforce_connection()
@app.route('/')
def index():
return render_template('index.html')
@app.route('/get_ingredients', methods=['POST'])
def get_ingredients():
global sf
if not sf:
sf = get_salesforce_connection()
if not sf:
return jsonify({"error": "Failed to connect to Salesforce"}), 500
dietary_preference = request.json.get('dietary_preference', '').lower()
# Map dietary preference to SOQL condition
preference_map = {
'vegetarian': "Category__c = 'Veg'",
'non-vegetarian': "Category__c = 'Non-Veg'",
'both': "1=1" # No category filter for "Both"
}
condition = preference_map.get(dietary_preference, "1=1") # Default to all if invalid
try:
soql = f"SELECT Name, Image_URL__c FROM Sector_Detail__c WHERE {condition} LIMIT 200"
result = sf.query(soql)
ingredients = [
{"name": record['Name'], "image_url": record.get('Image_URL__c', '')}
for record in result['records'] if 'Name' in record
]
return jsonify({"ingredients": ingredients})
except Exception as e:
return jsonify({"error": f"Failed to fetch ingredients: {str(e)}"}), 500
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=7860) |