other_tools.cpython-311.pyc•5.43 kB
�
��[h� � � � d Z ddlmZmZmZ ddlmZmZ ddlm Z de
dee
ee
f fd�Zde
dee
ef fd �Zde
dee
ef fd
�Z
dS )z*
Chess.com titled players and club tools.
� )�Dict�Any�List)�make_api_request�
get_cache_ttl)�db�title�returnc � �p K � g d�}| |vrddd� |� � � �iS d| � �}t d� � } t ||�� � � d{V ��}|� d g � � }t j d
| t
|� � |d�� � |S # t $ r}g t |� � d�cY d}~S d}~ww xY w)
z�
Get a list of titled players from Chess.com.
Args:
title: Chess title (GM, WGM, IM, WIM, FM, WFM, NM, WNM, CM, WCM)
Returns:
Dictionary with 'players' list containing usernames
)
�GM�WGM�IM�WIM�FM�WFM�NM�WNM�CM�WCM�errorzInvalid title. Must be one of: z, ztitled/�titled_players�� cache_ttlN�playersa-
INSERT INTO titled_players_snapshot
(title, player_count, players_list, snapshot_date)
VALUES ($title, $count, $players, CURRENT_DATE)
ON CONFLICT (title, snapshot_date) DO UPDATE
SET player_count = $count, players_list = $players
)r �countr )r r ) �joinr r �getr �execute�len� Exception�str)r �valid_titles�endpointr �datar �es �+/home/yori/chess-mxcp/python/other_tools.py�get_titled_playersr'