Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -74,6 +74,47 @@ import json
|
|
74 |
import uuid
|
75 |
import os
|
76 |
import re
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
from typing import Dict, Any
|
78 |
import gradio as gr
|
79 |
import vertexai
|
|
|
74 |
import uuid
|
75 |
import os
|
76 |
import re
|
77 |
+
import sys
|
78 |
+
import subprocess
|
79 |
+
from typing import Dict, Any, List
|
80 |
+
|
81 |
+
# Setup Logging
|
82 |
+
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
83 |
+
|
84 |
+
|
85 |
+
|
86 |
+
|
87 |
+
def check_gcloud_auth():
|
88 |
+
"""Checks for GCP authentication and provides instructions if missing."""
|
89 |
+
try:
|
90 |
+
# The 'gcloud auth print-access-token' command is a reliable way to check for active credentials.
|
91 |
+
# We capture stderr to suppress the verbose output on success.
|
92 |
+
subprocess.check_output("gcloud auth application-default print-access-token", shell=True, stderr=subprocess.DEVNULL)
|
93 |
+
logging.info("GCP authentication credentials found.")
|
94 |
+
return True
|
95 |
+
except subprocess.CalledProcessError:
|
96 |
+
error_message = """
|
97 |
+
================================================================================
|
98 |
+
CRITICAL ERROR: Google Cloud Authentication Not Found!
|
99 |
+
================================================================================
|
100 |
+
This application requires authentication to access Google Cloud services (Vertex AI, Cloud Storage).
|
101 |
+
|
102 |
+
To fix this, please run the following command in your terminal and follow the prompts to log in with your Google account:
|
103 |
+
|
104 |
+
gcloud auth application-default login
|
105 |
+
|
106 |
+
After authenticating, please restart this Python script.
|
107 |
+
================================================================================
|
108 |
+
"""
|
109 |
+
print(error_message, file=sys.stderr)
|
110 |
+
return False
|
111 |
+
|
112 |
+
# Run the auth check before trying to import heavy libraries
|
113 |
+
if not check_gcloud_auth():
|
114 |
+
sys.exit(1)
|
115 |
+
|
116 |
+
|
117 |
+
|
118 |
from typing import Dict, Any
|
119 |
import gradio as gr
|
120 |
import vertexai
|