refactor(scripts): improve import handling and path management
This commit is contained in:
parent
28c8fb3008
commit
82d1d92e58
1 changed files with 51 additions and 18 deletions
|
|
@ -1,6 +1,40 @@
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
_current_file = Path(__file__).resolve()
|
||||||
|
_script_dir = _current_file.parent
|
||||||
|
_app_dir = _script_dir.parent
|
||||||
|
|
||||||
|
print(f"DEBUG: Script path: {_current_file}")
|
||||||
|
print(f"DEBUG: App dir: {_app_dir}")
|
||||||
|
print(f"DEBUG: Current working dir: {os.getcwd()}")
|
||||||
|
|
||||||
|
if str(_app_dir) in sys.path:
|
||||||
|
sys.path.remove(str(_app_dir))
|
||||||
|
sys.path.insert(0, str(_app_dir))
|
||||||
|
|
||||||
|
os.chdir(str(_app_dir))
|
||||||
|
|
||||||
|
print(f"DEBUG: sys.path[0]: {sys.path[0]}")
|
||||||
|
print(f"DEBUG: New working dir: {os.getcwd()}")
|
||||||
|
|
||||||
|
_test_imports = [
|
||||||
|
"database",
|
||||||
|
"database.db_config",
|
||||||
|
"database.models",
|
||||||
|
"services",
|
||||||
|
"security",
|
||||||
|
]
|
||||||
|
|
||||||
|
print("\nDEBUG: Vérification des imports...")
|
||||||
|
for module in _test_imports:
|
||||||
|
try:
|
||||||
|
__import__(module)
|
||||||
|
print(f" ✅ {module}")
|
||||||
|
except ImportError as e:
|
||||||
|
print(f" ❌ {module}: {e}")
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
|
|
@ -8,18 +42,17 @@ from datetime import datetime
|
||||||
|
|
||||||
from sqlalchemy import select
|
from sqlalchemy import select
|
||||||
|
|
||||||
|
try:
|
||||||
from database.db_config import async_session_factory
|
from database.db_config import async_session_factory
|
||||||
from database.models.user import User
|
from database.models.user import User
|
||||||
from database.models.api_key import SwaggerUser, ApiKey
|
from database.models.api_key import SwaggerUser, ApiKey
|
||||||
from services.api_key import ApiKeyService
|
from services.api_key import ApiKeyService
|
||||||
from security.auth import hash_password
|
from security.auth import hash_password
|
||||||
|
except ImportError as e:
|
||||||
_script_dir = Path(__file__).resolve().parent
|
print(f"\n❌ ERREUR D'IMPORT: {e}")
|
||||||
_app_dir = _script_dir.parent
|
print(f" Vérifiez que vous êtes dans /app")
|
||||||
|
print(f" Commande correcte: cd /app && python scripts/manage_security.py ...")
|
||||||
sys.path.insert(0, str(_app_dir))
|
sys.exit(1)
|
||||||
os.chdir(str(_app_dir))
|
|
||||||
|
|
||||||
|
|
||||||
logging.basicConfig(level=logging.INFO, format="%(levelname)s - %(message)s")
|
logging.basicConfig(level=logging.INFO, format="%(levelname)s - %(message)s")
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue