shaheerawan3 commited on
Commit
1aec34d
·
verified ·
1 Parent(s): 4a50f30

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -9
app.py CHANGED
@@ -7,7 +7,7 @@ import sqlite3
7
  import os
8
  import logging
9
  from config import init_app
10
-
11
  from typing import Tuple # Add this import at the top
12
  from utils.security import log_security_event
13
 
@@ -26,7 +26,6 @@ from dashboard_components import apply_custom_css
26
  logging.basicConfig(level=logging.INFO)
27
  logger = logging.getLogger(__name__)
28
 
29
-
30
  CREATOR_INFO = {
31
  "name": "MUHAMMAD SHAHEER",
32
  "version": "1.0.0",
@@ -34,17 +33,30 @@ CREATOR_INFO = {
34
  }
35
 
36
  def initialize_session_state():
 
37
  if 'initialized' not in st.session_state:
38
  try:
39
- st.session_state.db = sqlite3.connect('digital_heir.db', check_same_thread=False)
40
- st.session_state.digital_heir = init_app()
41
  st.session_state.page = 'login'
42
  st.session_state.user = None
43
- st.session_state.creator = Creator.get_info()
44
- st.session_state.initialized = True
 
 
 
 
 
 
 
 
 
45
  initialize_database()
 
 
46
  return True
47
  except Exception as e:
 
48
  st.error(f"Failed to initialize: {str(e)}")
49
  return False
50
  return True
@@ -70,19 +82,30 @@ def handle_database_error(e: Exception, operation: str):
70
  return False
71
 
72
  def main():
73
- if 'initialized' not in st.session_state:
74
- initialize_session_state()
 
 
 
 
 
75
 
76
- if not st.session_state.user:
 
77
  show_login_page()
78
  else:
 
79
  pages = {
80
  'dashboard': show_dashboard,
81
  'add_account': show_add_account_page,
82
  'manage_heirs': show_heir_management_page,
83
  'security': show_security_settings_page
84
  }
 
 
85
  current_page = st.session_state.get('page', 'dashboard')
 
 
86
  pages.get(current_page, show_dashboard)()
87
 
88
  if __name__ == "__main__":
 
7
  import os
8
  import logging
9
  from config import init_app
10
+ import re
11
  from typing import Tuple # Add this import at the top
12
  from utils.security import log_security_event
13
 
 
26
  logging.basicConfig(level=logging.INFO)
27
  logger = logging.getLogger(__name__)
28
 
 
29
  CREATOR_INFO = {
30
  "name": "MUHAMMAD SHAHEER",
31
  "version": "1.0.0",
 
33
  }
34
 
35
  def initialize_session_state():
36
+ """Initialize all required session state variables"""
37
  if 'initialized' not in st.session_state:
38
  try:
39
+ # Initialize basic session state variables
40
+ st.session_state.initialized = False
41
  st.session_state.page = 'login'
42
  st.session_state.user = None
43
+ st.session_state.login_attempts = {} # Dictionary to track login attempts
44
+
45
+ # Initialize database connection
46
+ if 'db' not in st.session_state:
47
+ st.session_state.db = sqlite3.connect('digital_heir.db', check_same_thread=False)
48
+
49
+ # Initialize application state
50
+ if 'digital_heir' not in st.session_state:
51
+ st.session_state.digital_heir = init_app()
52
+
53
+ # Initialize database tables
54
  initialize_database()
55
+
56
+ st.session_state.initialized = True
57
  return True
58
  except Exception as e:
59
+ logger.error(f"Initialization error: {str(e)}")
60
  st.error(f"Failed to initialize: {str(e)}")
61
  return False
62
  return True
 
82
  return False
83
 
84
  def main():
85
+ """Main application entry point"""
86
+ # Initialize session state first
87
+ init_success = initialize_session_state()
88
+
89
+ if not init_success:
90
+ st.error("Failed to initialize application. Please try again.")
91
+ return
92
 
93
+ # Check if user is logged in
94
+ if 'user' not in st.session_state or st.session_state.user is None:
95
  show_login_page()
96
  else:
97
+ # Define available pages
98
  pages = {
99
  'dashboard': show_dashboard,
100
  'add_account': show_add_account_page,
101
  'manage_heirs': show_heir_management_page,
102
  'security': show_security_settings_page
103
  }
104
+
105
+ # Get current page from session state, default to dashboard
106
  current_page = st.session_state.get('page', 'dashboard')
107
+
108
+ # Show the current page
109
  pages.get(current_page, show_dashboard)()
110
 
111
  if __name__ == "__main__":