Spaces:
Runtime error
Runtime error
| from flask import Flask, request, jsonify | |
| import requests | |
| import gspread | |
| import os | |
| app = Flask(__name__) | |
| HF_TOKEN = os.getenv("HF_API_KEY") | |
| # Authenticate with Google Sheets | |
| gc = gspread.service_account(filename="credentials.json") | |
| sheet = gc.open_by_url("https://docs.google.com/spreadsheets/d/1t4cVCDInque373CHEeMaNuwi8pGnAELqHJSPRLG3bKk/edit").worksheet("Items QR Code") | |
| sheetStore = gc.open_by_url("https://docs.google.com/spreadsheets/d/11fLYMW3HSogJKrvawn6okMrau2JJ1FMToMVl2g0-ubU/edit").worksheet("Items QR Code") | |
| sheetForms = gc.open_by_url("https://docs.google.com/spreadsheets/d/10U09hJsay6osJWTtPD1s3XjaOl6jCJVojdgfMYbNtu0/edit").worksheet("HR FORM") | |
| # Token for Hugging Face Space | |
| def get_item(): | |
| item_description = request.args.get('description') | |
| print(item_description) | |
| if not item_description: | |
| return jsonify({"error": "Missing item description"}), 400 | |
| # Search for the item in the Google Sheet | |
| data = sheet.get_all_records() | |
| for row in data: | |
| if row["ItemDescription"] == item_description: | |
| return jsonify(row) | |
| print("result" + row) | |
| # If not found, proxy the request to Hugging Face Space | |
| hf_response = requests.get( | |
| f"https://iacelectricals-backendstoreitem.hf.space/items?description={item_description}", | |
| headers={"Authorization": f"Bearer {HF_TOKEN}"} | |
| ) | |
| if hf_response.status_code == 200: | |
| return hf_response.json() | |
| else: | |
| return jsonify({"error": "Item not found in Hugging Face Space"}), 404 | |
| def get_store_item(): | |
| item_description = request.args.get('description') | |
| print(item_description) | |
| if not item_description: | |
| return jsonify({"error": "Missing item description"}), 400 | |
| # Search for the item in the Google Sheet | |
| data = sheetStore.get_all_records() | |
| for row in data: | |
| if row["ItemDescription"] == item_description: | |
| return jsonify(row) | |
| print("result" + row) | |
| # If not found, proxy the request to Hugging Face Space | |
| hf_response = requests.get( | |
| f"https://iacelectricals-backendstoreitem.hf.space/items?description={item_description}", | |
| headers={"Authorization": f"Bearer {HF_TOKEN}"} | |
| ) | |
| if hf_response.status_code == 200: | |
| return hf_response.json() | |
| else: | |
| return jsonify({"error": "Item not found in Hugging Face Space"}), 404 | |
| def get_all_forms(): | |
| try: | |
| # Fetch all rows from Google Sheet starting from row 2 | |
| data = sheetForms.get_all_records() | |
| forms = [] | |
| for row in data: | |
| forms.append({ | |
| "formName": row["USER FORMS"], # Column A | |
| "formLink": row["LINKS"], # Column B | |
| "formDescription": row["DESCRIPTION"] # Column C | |
| }) | |
| return jsonify(forms) | |
| except Exception as e: | |
| return jsonify({"error": str(e)}), 500 | |
| # def get_forms(): | |
| # form_name = request.args.get('formName') | |
| # if not form_name: | |
| # return jsonify({"error": "Missing form name"}), 400 | |
| # # Fetch all rows from Google Sheet | |
| # data = sheetForms.get_all_records() | |
| # for row in data: | |
| # if row["USER FORMS"] == form_name: | |
| # return jsonify(row) | |
| # # If form not found in Google Sheet, proxy the request to Hugging Face Space | |
| # hf_response = requests.get( | |
| # f"https://iacelectricals-backendstoreitem.hf.space/forms?formName={form_name}", | |
| # headers={"Authorization": f"Bearer {HF_TOKEN}"} | |
| # ) | |
| # if hf_response.status_code == 200: | |
| # return hf_response.json() | |
| # else: | |
| # return jsonify({"error": "Form not found in Hugging Face Space"}), 404 | |
| if __name__ == '__main__': | |
| app.run(host='0.0.0.0', port=7860) | |