Gonalb commited on
Commit
7a2828d
·
1 Parent(s): 98aa155

manage json secret

Browse files
Files changed (1) hide show
  1. config.py +20 -5
config.py CHANGED
@@ -1,4 +1,5 @@
1
  import os
 
2
  from dotenv import load_dotenv
3
 
4
  # Load environment variables from .env file if it exists
@@ -21,11 +22,25 @@ if missing_vars:
21
  BIGQUERY_KEY_PATH=path/to/your/bigquery/credentials.json
22
  """)
23
 
24
- # Set Google Application Credentials environment variable if provided
25
- if os.environ.get("BIGQUERY_KEY_PATH"):
 
 
 
 
 
 
 
 
 
 
 
 
26
  os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = os.environ.get("BIGQUERY_KEY_PATH")
 
 
27
 
28
  # BigQuery configuration
29
- BIGQUERY_KEY_PATH = "xepelin-411205-1ba8a63c9c96.json"
30
- PROJECT_ID = "xepelin-411205"
31
- DATASET_ID = "ecommerceaie5"
 
1
  import os
2
+ import json
3
  from dotenv import load_dotenv
4
 
5
  # Load environment variables from .env file if it exists
 
22
  BIGQUERY_KEY_PATH=path/to/your/bigquery/credentials.json
23
  """)
24
 
25
+ # Handle BigQuery credentials
26
+ # If BIGQUERY_KEY_PATH contains the actual JSON content (as in HF Spaces secrets)
27
+ if os.environ.get("BIGQUERY_KEY_PATH") and os.environ.get("BIGQUERY_KEY_PATH").strip().startswith("{"):
28
+ # Create a temporary credentials file from the environment variable
29
+ credentials_content = os.environ.get("BIGQUERY_KEY_PATH")
30
+ credentials_path = "/tmp/bigquery_credentials.json"
31
+
32
+ with open(credentials_path, "w") as f:
33
+ f.write(credentials_content)
34
+
35
+ # Set the credentials path to the temporary file
36
+ os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = credentials_path
37
+ # If BIGQUERY_KEY_PATH is a file path
38
+ elif os.environ.get("BIGQUERY_KEY_PATH") and os.path.exists(os.environ.get("BIGQUERY_KEY_PATH")):
39
  os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = os.environ.get("BIGQUERY_KEY_PATH")
40
+ else:
41
+ print("Warning: BigQuery credentials not found or invalid")
42
 
43
  # BigQuery configuration
44
+ BIGQUERY_KEY_PATH = os.environ.get("BIGQUERY_KEY_PATH", "xepelin-411205-1ba8a63c9c96.json")
45
+ PROJECT_ID = os.environ.get("PROJECT_ID", "xepelin-411205")
46
+ DATASET_ID = os.environ.get("DATASET_ID", "ecommerceaie5")