| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | """PACC API functions"""import reimport requestsfrom bs4 import BeautifulSoupfrom dateutil import parserfrom app import BASE_URL, HEADERSdef get_rr_player(player_id):    """Get Rival Region player"""    response = requests.get(        '{}slide/profile/{}'.format(BASE_URL, player_id),        headers=HEADERS    )    soup = BeautifulSoup(response.text, 'html.parser')    player = {        'name': None,        'region': None,        'residency': None,        'registation_date': None,    }    table = soup.find('table')    name = soup.find('h1')    if name:        player['name'] = re.sub(r'.*:\s', '', name.text)    for row in table.find_all('tr'):        label = row.find('td').text.strip()         if label == 'Region:':            span = row.find('span', {'class': 'dot'})            if span:                player['region'] = span.text        if label == 'Residency:':            span = row.find('span', {'class': 'dot'})            if span:                player['residency'] = span.text        if label == 'Registration date:':            element = row.find('td', {'class': 'imp'})            if element:                player['registation_date'] = parser.parse(element.text)    return playerdef get_players_by_name(player_name):    """Get player list by name"""    response = requests.get(        '{}listed/region/0/{}/0'.format(BASE_URL, player_name),        headers=HEADERS,    )    soup = BeautifulSoup(response.text, 'html.parser')    players = []    player_items = soup.find_all('tr', {'class': 'list_link'})    for player_item in player_items:        players.append({            'id': int(player_item.get('user')),            'name': player_item.find('td', {'class': 'list_name'}).text.strip(),            'level': int(player_item.find('td', {'class': 'list_level'}).text),        })    return playersdef send_personal_message(user_id, message):    """Send personal message to player"""    requests.post(        '{}send_personal_message/{}'.format(BASE_URL, user_id),        headers=HEADERS,        data={            'message': message        }    )
 |