Engineer786 commited on
Commit
ea74946
·
verified ·
1 Parent(s): dc7cf77

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -9
app.py CHANGED
@@ -4,23 +4,20 @@ from tariff_scraper import scrape_tariff_data
4
  def main():
5
  st.title("Electricity Bill Calculator with Tariff Scraper")
6
 
7
- # Fetch tariff rates
8
  st.sidebar.subheader("Tariff Rates")
9
  url = st.sidebar.text_input("Tariff URL", "https://iesco.com.pk/index.php/customer-services/tariff-guide")
10
 
11
  if st.sidebar.button("Fetch Tariff Rates"):
12
  with st.spinner("Fetching tariff rates..."):
13
  data = scrape_tariff_data(url)
14
- if isinstance(data, dict): # Check if data is a valid dictionary
15
  st.session_state["tariff_rates"] = data
16
  st.sidebar.success("Tariff rates fetched successfully!")
17
- st.write("### Tariff Rates")
18
- for category, rate in data.items():
19
- st.write(f"{category}: {rate} PKR/unit")
20
  else:
21
  st.sidebar.error(data)
22
 
23
- # Use fetched tariff rates
24
  tariff_categories = st.session_state.get("tariff_rates", {})
25
  if tariff_categories:
26
  load_type = st.sidebar.selectbox("Select Load Type", options=tariff_categories.keys())
@@ -30,7 +27,7 @@ def main():
30
  load_type = "Default"
31
  tariff_rate = st.sidebar.number_input("Default Tariff Rate (PKR/unit)", min_value=0.0, value=20.0)
32
 
33
- # Electricity bill calculation
34
  st.sidebar.subheader("Appliance Usage")
35
  appliances = {
36
  "Fan": 75, "Air Conditioner (1 Ton)": 1500, "Refrigerator": 150,
@@ -49,12 +46,13 @@ def main():
49
  })
50
  st.sidebar.success(f"{quantity} x {appliance} added.")
51
 
52
- # Display appliances and calculate bill
53
  st.write("### Selected Appliances")
54
  if "appliances" in st.session_state:
55
  for app in st.session_state["appliances"]:
56
  st.write(f"{app['quantity']} x {app['appliance']} ({app['usage_hours']} hours/day)")
57
 
 
58
  if st.button("Calculate Bill"):
59
  total_units = sum(
60
  app["quantity"] * app["load"] * app["usage_hours"] / 1000 for app in st.session_state["appliances"]
@@ -66,4 +64,3 @@ def main():
66
 
67
  if __name__ == "__main__":
68
  main()
69
-
 
4
  def main():
5
  st.title("Electricity Bill Calculator with Tariff Scraper")
6
 
7
+ # Tariff Rates Section
8
  st.sidebar.subheader("Tariff Rates")
9
  url = st.sidebar.text_input("Tariff URL", "https://iesco.com.pk/index.php/customer-services/tariff-guide")
10
 
11
  if st.sidebar.button("Fetch Tariff Rates"):
12
  with st.spinner("Fetching tariff rates..."):
13
  data = scrape_tariff_data(url)
14
+ if isinstance(data, dict): # Check if valid tariff data is returned
15
  st.session_state["tariff_rates"] = data
16
  st.sidebar.success("Tariff rates fetched successfully!")
 
 
 
17
  else:
18
  st.sidebar.error(data)
19
 
20
+ # Use Fetched Tariff Rates
21
  tariff_categories = st.session_state.get("tariff_rates", {})
22
  if tariff_categories:
23
  load_type = st.sidebar.selectbox("Select Load Type", options=tariff_categories.keys())
 
27
  load_type = "Default"
28
  tariff_rate = st.sidebar.number_input("Default Tariff Rate (PKR/unit)", min_value=0.0, value=20.0)
29
 
30
+ # Appliance Usage Section
31
  st.sidebar.subheader("Appliance Usage")
32
  appliances = {
33
  "Fan": 75, "Air Conditioner (1 Ton)": 1500, "Refrigerator": 150,
 
46
  })
47
  st.sidebar.success(f"{quantity} x {appliance} added.")
48
 
49
+ # Display Appliances
50
  st.write("### Selected Appliances")
51
  if "appliances" in st.session_state:
52
  for app in st.session_state["appliances"]:
53
  st.write(f"{app['quantity']} x {app['appliance']} ({app['usage_hours']} hours/day)")
54
 
55
+ # Calculate Bill
56
  if st.button("Calculate Bill"):
57
  total_units = sum(
58
  app["quantity"] * app["load"] * app["usage_hours"] / 1000 for app in st.session_state["appliances"]
 
64
 
65
  if __name__ == "__main__":
66
  main()