Sanjayraju30 commited on
Commit
50bfbc4
·
verified ·
1 Parent(s): afa9509

Create modules/salesforce_connector.py

Browse files
Files changed (1) hide show
  1. modules/salesforce_connector.py +36 -0
modules/salesforce_connector.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from simple_salesforce import Salesforce
2
+ import pandas as pd
3
+
4
+ def connect_salesforce():
5
+ return Salesforce(
6
+ username='[email protected]',
7
+ password='Vedavathi@04',
8
+ security_token='jqe4His8AcuFJucZz5NBHfGU'
9
+ )
10
+
11
+ def fetch_pole_data_from_salesforce(sf):
12
+ query = """
13
+ SELECT Name, Solar_Generation__c, Wind_Generation__c, Power_Required__c,
14
+ Camera_Status__c, Tilt__c, Vibration__c, Alert_Level__c, Power_Sufficient__c
15
+ FROM Smart_Pole__c
16
+ LIMIT 50
17
+ """
18
+ result = sf.query(query)
19
+ records = result['records']
20
+
21
+ data = []
22
+ for r in records:
23
+ data.append({
24
+ "Pole ID": r['Name'],
25
+ "Solar Gen (kWh)": r.get('Solar_Generation__c', 0),
26
+ "Wind Gen (kWh)": r.get('Wind_Generation__c', 0),
27
+ "Power Required (kWh)": r.get('Power_Required__c', 0),
28
+ "Power Sufficient": r.get('Power_Sufficient__c', "No"),
29
+ "Camera Status": r.get('Camera_Status__c', "Offline"),
30
+ "Tilt (°)": r.get('Tilt__c', 0),
31
+ "Vibration (g)": r.get('Vibration__c', 0),
32
+ "Anomalies": "N/A", # Or parse if stored in Salesforce
33
+ "Alert Level": r.get('Alert_Level__c', "Green"),
34
+ "Date": pd.Timestamp.today().date()
35
+ })
36
+ return pd.DataFrame(data)