salesforce30 / modules /salesforce_connector.py
Sanjayraju30's picture
Update modules/salesforce_connector.py
aaed1c3 verified
raw
history blame
1.58 kB
from simple_salesforce import Salesforce
import pandas as pd
def connect_salesforce():
return Salesforce(
username='[email protected]',
password='Vedavathi@04',
security_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 VIEP_Pole__c # ← replace this with your actual API name
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 VIEP_Pole__c
LIMIT 50
"""
LIMIT 50
"""
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", # Optional: You can add your logic
"Alert Level": r.get('Alert_Level__c', "Green"),
"Date": pd.Timestamp.today().date()
})
return pd.DataFrame(data)