Browse Source

[boardgames] Few more little tweaks to imports

Colin Powell 3 months ago
parent
commit
4277e355e0
1 changed files with 13 additions and 11 deletions
  1. 13 11
      vrobbler/apps/boardgames/sources/lichess.py

+ 13 - 11
vrobbler/apps/boardgames/sources/lichess.py

@@ -48,7 +48,9 @@ def import_chess_games_for_all_users():
             white_player = game_dict.get("players", {}).get("white", {})
 
             user_player = {
-                "user_id": user.profile.lichess_username,
+                "user_id": user.id,
+                "lichess_username": user.profile.lichess_username,
+                "bgg_username": user.profile.bgg_username,
                 "color": "",
                 "win": False,
             }
@@ -67,6 +69,7 @@ def import_chess_games_for_all_users():
                     other_player["name_str"] = white_player.get(
                         "user", {}
                     ).get("name", "")
+                    other_player["lichess_username"] = other_player["name_str"]
 
                 other_player["color"] = "white"
                 if winner == "black":
@@ -86,6 +89,7 @@ def import_chess_games_for_all_users():
                     other_player["name_str"] = black_player.get(
                         "user", {}
                     ).get("name", "")
+                    other_player["lichess_username"] = other_player["name_str"]
                 other_player["color"] = "black"
                 if winner == "white":
                     user_player["win"] = True
@@ -96,10 +100,18 @@ def import_chess_games_for_all_users():
             log_data["players"].append(other_player)
 
             scrobble_dict = {
+                "media_type": Scrobble.MediaType.BOARD_GAME,
                 "user_id": user.id,
+                "playback_position_seconds": (
+                    game_dict.get("lastMoveAt") - game_dict.get("createdAt")
+                ).seconds,
+                "in_progress": False,
+                "played_to_completion": True,
                 "timestamp": game_dict.get("createdAt"),
                 "stop_timestamp": game_dict.get("lastMoveAt"),
                 "board_game_id": chess.id,
+                "source": "Lichess",
+                "timezone": user.profile.timezone,
                 "log": log_data,
             }
             scrobbles_to_create.append(Scrobble(**scrobble_dict))
@@ -107,13 +119,3 @@ def import_chess_games_for_all_users():
     if scrobbles_to_create:
         Scrobble.objects.bulk_create(scrobbles_to_create)
     return scrobbles_to_create
-
-
-# 'players': {
-#     'white': {'aiLevel': 1},
-#     'black': {'user': {'name': 'secstate', 'id': 'secstate'},
-#   'rating': 1500,
-#   'provisional': True}
-# },
-# 'fullId': '4T8CinfXdI95',
-# 'winner': 'black',