CoolFace
Apppublic

Bishall10/ipo

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
apps.py40 linesDownload Raw Back to automation
1import os2import firebase_admin3from firebase_admin import credentials4from django.apps import AppConfig5from django.conf import settings6 7class AutomationConfig(AppConfig):8    default_auto_field = 'django.db.models.BigAutoField'9    name = 'automation'10 11    def ready(self):12        # Initialize Firebase Admin SDK13        firebase_cred_path = os.path.join(settings.BASE_DIR, 'config', 'firebase_vcc.json')14        15        try:16            # Check if already initialized17            firebase_admin.get_app()18            return19        except ValueError:20            pass21 22        if os.path.exists(firebase_cred_path):23            cred = credentials.Certificate(firebase_cred_path)24            firebase_admin.initialize_app(cred)25            print("Firebase Admin SDK initialized successfully from file.")26        else:27            # Fallback: load from base64-encoded env variable28            import base64, json29            b64 = os.environ.get("FIREBASE_CREDENTIALS_B64", "")30            if b64:31                try:32                    cred_json = json.loads(base64.b64decode(b64).decode())33                    cred = credentials.Certificate(cred_json)34                    firebase_admin.initialize_app(cred)35                    print("Firebase Admin SDK initialized successfully from environment variable.")36                except Exception as e:37                    print(f"Warning: Failed to initialize Firebase from FIREBASE_CREDENTIALS_B64: {e}")38            else:39                print(f"Warning: Firebase credentials not found (tried {firebase_cred_path} and FIREBASE_CREDENTIALS_B64)")40