k-mktr commited on
Commit
8196453
·
verified ·
1 Parent(s): 838c69d

Update leaderboard.py

Browse files
Files changed (1) hide show
  1. leaderboard.py +8 -5
leaderboard.py CHANGED
@@ -1,4 +1,3 @@
1
- from nc_py_api import Nextcloud
2
  import json
3
  from typing import Dict, Any
4
  import time
@@ -7,21 +6,24 @@ import threading
7
  import config
8
  import math
9
 
10
- # Initialize Nextcloud client
11
- nc = Nextcloud(nextcloud_url=config.NEXTCLOUD_URL, nc_auth_user=config.NEXTCLOUD_USERNAME, nc_auth_pass=config.NEXTCLOUD_PASSWORD)
12
-
13
  # Dictionary to store ELO ratings
14
  elo_ratings = {}
15
 
16
  def load_leaderboard() -> Dict[str, Any]:
 
17
  try:
18
  file_content = nc.files.download(config.NEXTCLOUD_LEADERBOARD_PATH)
19
- return json.loads(file_content.decode('utf-8'))
 
 
 
 
20
  except Exception as e:
21
  print(f"Error loading leaderboard: {str(e)}")
22
  return {}
23
 
24
  def save_leaderboard(leaderboard_data: Dict[str, Any]) -> bool:
 
25
  try:
26
  json_data = json.dumps(leaderboard_data, indent=2)
27
  nc.files.upload(config.NEXTCLOUD_LEADERBOARD_PATH, json_data.encode('utf-8'))
@@ -262,6 +264,7 @@ def create_backup():
262
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
263
  backup_file_name = f"leaderboard_backup_{timestamp}.json"
264
  backup_path = f"{config.NEXTCLOUD_BACKUP_FOLDER}/{backup_file_name}"
 
265
  json_data = json.dumps(leaderboard_data, indent=2)
266
  nc.files.upload(backup_path, json_data.encode('utf-8'))
267
  print(f"Backup created on Nextcloud: {backup_path}")
 
 
1
  import json
2
  from typing import Dict, Any
3
  import time
 
6
  import config
7
  import math
8
 
 
 
 
9
  # Dictionary to store ELO ratings
10
  elo_ratings = {}
11
 
12
  def load_leaderboard() -> Dict[str, Any]:
13
+ nc = config.get_nextcloud_client() # Use the singleton client
14
  try:
15
  file_content = nc.files.download(config.NEXTCLOUD_LEADERBOARD_PATH)
16
+ if file_content: # Check if content is not empty
17
+ return json.loads(file_content.decode('utf-8'))
18
+ else:
19
+ print(f"Error loading leaderboard: Received empty content from Nextcloud at {config.NEXTCLOUD_LEADERBOARD_PATH}")
20
+ return {}
21
  except Exception as e:
22
  print(f"Error loading leaderboard: {str(e)}")
23
  return {}
24
 
25
  def save_leaderboard(leaderboard_data: Dict[str, Any]) -> bool:
26
+ nc = config.get_nextcloud_client() # Use the singleton client
27
  try:
28
  json_data = json.dumps(leaderboard_data, indent=2)
29
  nc.files.upload(config.NEXTCLOUD_LEADERBOARD_PATH, json_data.encode('utf-8'))
 
264
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
265
  backup_file_name = f"leaderboard_backup_{timestamp}.json"
266
  backup_path = f"{config.NEXTCLOUD_BACKUP_FOLDER}/{backup_file_name}"
267
+ nc = config.get_nextcloud_client() # Use the singleton client
268
  json_data = json.dumps(leaderboard_data, indent=2)
269
  nc.files.upload(backup_path, json_data.encode('utf-8'))
270
  print(f"Backup created on Nextcloud: {backup_path}")