k-mktr commited on
Commit
2c850f8
Β·
verified Β·
1 Parent(s): 2cbccc2

Update config.py

Browse files
Files changed (1) hide show
  1. config.py +24 -15
config.py CHANGED
@@ -1,9 +1,9 @@
1
  import os
 
2
  import json
3
  from datetime import datetime
4
  import time
5
  import threading
6
- from nc_py_api import Nextcloud # Moved import here to be used locally
7
 
8
  ARENA_NAME = "# πŸ† The GPU-Poor LLM Gladiator Arena πŸ† v25.10"
9
 
@@ -23,25 +23,34 @@ NEXTCLOUD_BACKUP_FOLDER = os.environ.get("NEXTCLOUD_BACKUP_FOLDER", "/gpu_poor_l
23
  NEXTCLOUD_SUGGESTIONS_PATH = os.environ.get("NEXTCLOUD_SUGGESTIONS_PATH", "/gpu_poor_model_suggestions.json")
24
  NEXTCLOUD_MODELS_PATH = os.environ.get("NEXTCLOUD_MODELS_PATH", "/gpu_poor_approved_models.json")
25
 
26
- # Removed Nextcloud client singleton and lock
 
 
27
 
28
- def get_nextcloud_client_instance():
29
- """Returns a new Nextcloud client instance."""
30
- return Nextcloud(
31
- nextcloud_url=NEXTCLOUD_URL,
32
- nc_auth_user=NEXTCLOUD_USERNAME,
33
- nc_auth_pass=NEXTCLOUD_PASSWORD
34
- )
 
 
 
35
 
36
  def load_approved_models():
37
  """Load approved models from Nextcloud, fallback to local list if needed."""
38
  try:
39
- with get_nextcloud_client_instance() as nc: # Use as context manager
40
- # Try to load from Nextcloud
41
- remote_data = nc.files.download(NEXTCLOUD_MODELS_PATH)
42
- if remote_data:
43
- models_data = json.loads(remote_data.decode('utf-8'))
44
- return models_data['approved_models']
 
 
 
 
45
  except Exception as e:
46
  print(f"Could not load models from Nextcloud: {e}")
47
 
 
1
  import os
2
+ from nc_py_api import Nextcloud
3
  import json
4
  from datetime import datetime
5
  import time
6
  import threading
 
7
 
8
  ARENA_NAME = "# πŸ† The GPU-Poor LLM Gladiator Arena πŸ† v25.10"
9
 
 
23
  NEXTCLOUD_SUGGESTIONS_PATH = os.environ.get("NEXTCLOUD_SUGGESTIONS_PATH", "/gpu_poor_model_suggestions.json")
24
  NEXTCLOUD_MODELS_PATH = os.environ.get("NEXTCLOUD_MODELS_PATH", "/gpu_poor_approved_models.json")
25
 
26
+ # Nextcloud client singleton
27
+ _nextcloud_client = None
28
+ _nextcloud_lock = threading.Lock()
29
 
30
+ def get_nextcloud_client():
31
+ global _nextcloud_client
32
+ with _nextcloud_lock:
33
+ if _nextcloud_client is None:
34
+ _nextcloud_client = Nextcloud(
35
+ nextcloud_url=NEXTCLOUD_URL,
36
+ nc_auth_user=NEXTCLOUD_USERNAME,
37
+ nc_auth_pass=NEXTCLOUD_PASSWORD
38
+ )
39
+ return _nextcloud_client
40
 
41
  def load_approved_models():
42
  """Load approved models from Nextcloud, fallback to local list if needed."""
43
  try:
44
+ nc = Nextcloud(
45
+ nextcloud_url=NEXTCLOUD_URL,
46
+ nc_auth_user=NEXTCLOUD_USERNAME,
47
+ nc_auth_pass=NEXTCLOUD_PASSWORD
48
+ )
49
+ # Try to load from Nextcloud
50
+ remote_data = nc.files.download(NEXTCLOUD_MODELS_PATH)
51
+ if remote_data:
52
+ models_data = json.loads(remote_data.decode('utf-8'))
53
+ return models_data['approved_models']
54
  except Exception as e:
55
  print(f"Could not load models from Nextcloud: {e}")
56