salesforce30 / modules /salesforce_connector.py
Sanjayraju30's picture
Update modules/salesforce_connector.py
aef9f14 verified
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)