|
7 | 7 | import dotenv
|
8 | 8 | import os
|
9 | 9 |
|
10 |
| -# Load from private/.env first (lowest precedence) |
11 |
| -dotenv_path_private = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'private', '.env') |
12 |
| -dotenv.load_dotenv(dotenv_path_private, override=True) |
13 |
| - |
14 |
| -# Then load from the default location (main folder) |
15 |
| -dotenv.load_dotenv(override=True) |
16 |
| - |
17 |
| -DATABASE_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'private', 'db', 'SparkyBudget.db') # Revert to original calculation |
18 |
| -PRIVATE_FOLDER_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'private') # Define private folder path |
19 |
| - |
20 |
| -# Get log level from environment, default to INFO if not set |
21 |
| -log_level = os.getenv("LOG_LEVEL", "INFO").upper() |
| 10 | +# Configure logging early to see initial env vars |
22 | 11 | logging.basicConfig(
|
23 |
| - level=log_level, |
| 12 | + level=os.getenv("LOG_LEVEL", "INFO").upper(), |
24 | 13 | format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
25 | 14 | handlers=[
|
26 | 15 | logging.StreamHandler() # Logs to the console
|
27 | 16 | ]
|
28 | 17 | )
|
29 | 18 | logger = logging.getLogger(__name__)
|
30 | 19 |
|
| 20 | + |
| 21 | +# Load from private/.env first (lowest precedence) |
| 22 | +dotenv_path_private = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'private', '.env') |
| 23 | +# Load from private/.env first (lowest precedence), but do not override existing env vars |
| 24 | +dotenv.load_dotenv(dotenv_path_private) |
| 25 | + |
| 26 | +# Then load from the default location (main folder), but do not override existing env vars |
| 27 | +dotenv.load_dotenv() |
| 28 | + |
| 29 | +DATABASE_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'private', 'db', 'SparkyBudget.db') # Revert to original calculation |
| 30 | +PRIVATE_FOLDER_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'private') # Define private folder path |
| 31 | + |
31 | 32 | # py_utils
|
32 | 33 | from py_utils.auth import load_user, login, logout, before_request, unauthorized
|
33 | 34 | from py_utils.currency_utils import app as currency_app
|
|
47 | 48 |
|
48 | 49 |
|
49 | 50 | def create_app():
|
| 51 | + logger.debug(f"FLASK_SECRET_KEY at app creation: {os.getenv('FLASK_SECRET_KEY')}") |
50 | 52 | app = Flask(__name__, template_folder='./templates', static_folder='./static')
|
51 | 53 | app.jinja_env.add_extension("jinja2.ext.loopcontrols")
|
52 | 54 | app.config['DATABASE_PATH'] = DATABASE_PATH
|
|
0 commit comments