Edwin Salguero
commited on
Commit
·
c2c9316
1
Parent(s):
8d5bb7d
Final consolidation: replace load_config() with clean, consolidated version that properly sets both REAL_DATA_MODE and FRED_API_AVAILABLE
Browse files- frontend/app.py +22 -18
frontend/app.py
CHANGED
|
@@ -82,32 +82,36 @@ def load_fred_client():
|
|
| 82 |
|
| 83 |
# Lazy import configuration
|
| 84 |
def load_config():
|
| 85 |
-
"""
|
|
|
|
|
|
|
|
|
|
| 86 |
global CONFIG_AVAILABLE, FRED_API_KEY, REAL_DATA_MODE, FRED_API_AVAILABLE
|
| 87 |
-
|
| 88 |
-
#
|
| 89 |
-
fred_key = os.getenv(
|
| 90 |
if not fred_key:
|
| 91 |
fred_key = st.secrets.get("FRED_API_KEY", "")
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
#
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
print(f"DEBUG
|
| 99 |
-
|
|
|
|
| 100 |
try:
|
| 101 |
from config import Config
|
| 102 |
CONFIG_AVAILABLE = True
|
| 103 |
-
if not
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
|
|
|
| 108 |
except ImportError:
|
| 109 |
CONFIG_AVAILABLE = False
|
| 110 |
-
return False
|
| 111 |
|
| 112 |
# Custom CSS for enterprise styling
|
| 113 |
st.markdown("""
|
|
|
|
| 82 |
|
| 83 |
# Lazy import configuration
|
| 84 |
def load_config():
|
| 85 |
+
"""
|
| 86 |
+
Pull in your FRED key (from env or Streamlit secrets),
|
| 87 |
+
then flip both REAL_DATA_MODE and FRED_API_AVAILABLE.
|
| 88 |
+
"""
|
| 89 |
global CONFIG_AVAILABLE, FRED_API_KEY, REAL_DATA_MODE, FRED_API_AVAILABLE
|
| 90 |
+
|
| 91 |
+
# 1) Try environment first, then Streamlit secrets
|
| 92 |
+
fred_key = os.getenv("FRED_API_KEY", "")
|
| 93 |
if not fred_key:
|
| 94 |
fred_key = st.secrets.get("FRED_API_KEY", "")
|
| 95 |
+
# 2) Normalize
|
| 96 |
+
FRED_API_KEY = fred_key.strip()
|
| 97 |
+
# 3) Determine modes
|
| 98 |
+
REAL_DATA_MODE = bool(FRED_API_KEY and FRED_API_KEY != "your-fred-api-key-here")
|
| 99 |
+
FRED_API_AVAILABLE = REAL_DATA_MODE # ensure downstream checks pass
|
| 100 |
+
|
| 101 |
+
print(f"DEBUG load_config ▶ FRED_API_KEY={FRED_API_KEY}, REAL_DATA_MODE={REAL_DATA_MODE}, FRED_API_AVAILABLE={FRED_API_AVAILABLE}")
|
| 102 |
+
|
| 103 |
+
# 4) Optionally load additional Config class if you have one
|
| 104 |
try:
|
| 105 |
from config import Config
|
| 106 |
CONFIG_AVAILABLE = True
|
| 107 |
+
if not REAL_DATA_MODE:
|
| 108 |
+
# fallback to config file
|
| 109 |
+
cfg_key = Config.get_fred_api_key()
|
| 110 |
+
if cfg_key:
|
| 111 |
+
FRED_API_KEY = cfg_key
|
| 112 |
+
REAL_DATA_MODE = FRED_API_AVAILABLE = True
|
| 113 |
except ImportError:
|
| 114 |
CONFIG_AVAILABLE = False
|
|
|
|
| 115 |
|
| 116 |
# Custom CSS for enterprise styling
|
| 117 |
st.markdown("""
|