Spaces:
Sleeping
Sleeping
import os | |
import pandas as pd | |
from simple_salesforce import Salesforce | |
def connect_salesforce(): | |
return Salesforce( | |
username=os.getenv("SF_USERNAME", "[email protected]"), | |
password=os.getenv("SF_PASSWORD", "Vedavathi@04"), | |
security_token=os.getenv("SF_TOKEN", "jqe4His8AcuFJucZz5NBHfGU") | |
) | |
def fetch_pole_data_from_salesforce(sf): | |
query = """ | |
SELECT Name, Solar_Generation__c, Wind_Generation__c, Power_Required__c, | |
Camera_Status__c, Tilt__c, Vibration__c, Alert_Level__c, Power_Sufficient__c | |
FROM YourObjectAPI__c | |
LIMIT 50 | |
""" # Replace 'YourObjectAPI__c' with correct object name | |
result = sf.query(query) | |
records = result['records'] | |
data = [] | |
for r in records: | |
data.append({ | |
"Pole ID": r['Name'], | |
"Solar Gen (kWh)": r.get('Solar_Generation__c', 0), | |
"Wind Gen (kWh)": r.get('Wind_Generation__c', 0), | |
"Power Required (kWh)": r.get('Power_Required__c', 0), | |
"Power Sufficient": r.get('Power_Sufficient__c', "No"), | |
"Camera Status": r.get('Camera_Status__c', "Offline"), | |
"Tilt (°)": r.get('Tilt__c', 0), | |
"Vibration (g)": r.get('Vibration__c', 0), | |
"Anomalies": "N/A", | |
"Alert Level": r.get('Alert_Level__c', "Green"), | |
"Date": pd.Timestamp.today().date() | |
}) | |
return pd.DataFrame(data) | |