Sanjayraju30 commited on
Commit
8ad6147
Β·
verified Β·
1 Parent(s): 4329f8b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -44
app.py CHANGED
@@ -1,44 +1,53 @@
1
- import requests
2
- import urllib.parse
3
-
4
- app = Flask(__name__)
5
-
6
- @app.route('/get-salesforce-data')
7
- def get_salesforce_data():
8
- access_token = 'YOUR_ACCESS_TOKEN'
9
- instance_url = 'https://vedavathi3-dev-ed.my.salesforce.com'
10
-
11
- query = """
12
- SELECT
13
- Name,
14
- Solar_Generation__c,
15
- Wind_Generation__c,
16
- Power_Required__c,
17
- Camera_Status__c,
18
- Tilt__c,
19
- Vibration__c,
20
- Alert_Level__c,
21
- Power_Sufficient__c
22
- FROM
23
- Pole_Monitoring__c
24
- LIMIT 50
25
- """
26
-
27
- encoded_query = urllib.parse.quote(query)
28
- url = f"{instance_url}/services/data/v59.0/query/?q={encoded_query}"
29
-
30
- headers = {
31
- 'Authorization': f'Bearer {access_token}',
32
- 'Content-Type': 'application/json'
33
- }
34
-
35
- response = requests.get(url, headers=headers)
36
-
37
- if response.status_code == 200:
38
- data = response.json()
39
- return jsonify(data['records'])
40
- else:
41
- return jsonify({'error': response.text}), response.status_code
42
-
43
- if __name__ == '__main__':
44
- app.run(debug=True)
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import numpy as np
4
+ import datetime
5
+ from simple_salesforce import Salesforce
6
+ from modules.simulator import simulate_data
7
+ from modules.filters import apply_filters
8
+ from modules.visuals import display_dashboard, display_charts
9
+
10
+ # Salesforce Authentication (replace with your Salesforce login credentials)
11
+ sf = Salesforce(username='[email protected]', password='Vedavathi@04', security_token='jqe4His8AcuFJucZz5NBHfGU')
12
+
13
+ st.set_page_config(page_title="Vedavathi Smart Pole Monitoring", layout="wide")
14
+
15
+ st.title("πŸ“‘ Vedavathi Smart Pole Monitoring - PoC Simulator")
16
+
17
+ # Sidebar for Simulation Controls
18
+ st.sidebar.header("πŸ› οΈ Simulation Controls")
19
+ num_poles = st.sidebar.slider("Number of Poles", min_value=5, max_value=50, value=10)
20
+ simulate_faults = st.sidebar.checkbox("Simulate Random Faults", value=True)
21
+
22
+ # Simulate Data for Poles
23
+ df = simulate_data(num_poles, simulate_faults)
24
+
25
+ # Sidebar for Filter Data
26
+ st.sidebar.header("πŸ“‚ Filter Data")
27
+ alert_filter = st.sidebar.multiselect("Alert Level", ["Green", "Yellow", "Red"], default=["Green", "Yellow", "Red"])
28
+ cam_filter = st.sidebar.selectbox("Camera Status", ["All", "Online", "Offline"], index=0)
29
+
30
+ # Apply Filters
31
+ filtered_df = apply_filters(df, alert_filter, cam_filter)
32
+
33
+ # Display System Summary
34
+ display_dashboard(df)
35
+
36
+ # Pole Monitoring Table
37
+ st.subheader("πŸ“‹ Pole Monitoring Table")
38
+ st.dataframe(filtered_df, use_container_width=True)
39
+
40
+ # Display Charts
41
+ display_charts(df)
42
+
43
+ # Salesforce Integration (e.g., fetch records from Salesforce)
44
+ def fetch_salesforce_data():
45
+ # Example: Querying Salesforce for related data
46
+ query = "SELECT Id, Name, Alert_Level__c, Camera_Status__c FROM Pole__c"
47
+ result = sf.query_all(query)
48
+ return result['records']
49
+
50
+ # Fetch Salesforce data
51
+ sf_data = fetch_salesforce_data()
52
+ st.write("Salesforce Data:", sf_data)
53
+