From bd4dd1fedab05f2eb51d8e4b64367f8a10deef34 Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Thu, 13 Mar 2025 15:16:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20`gamer`=20=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BD=D0=B0=20`player`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 +++--- app/collect.py | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a366c99..4b14a0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,12 @@ -### 2.1.0 +## 2.1.0 - В БД сохраняется UTF-8 строки, вместо `\u` -### 2.0.0 +## 2.0.0 - переход с SQLite3 на PostgreSQL -### 1.1.0 +## 1.1.0 - Добавлен выхлом ошибок `try...catch` в логи - У игроков с премиумом теперь отрезается символ 💎 из имени diff --git a/app/collect.py b/app/collect.py index ccbcd8c..b38d2b9 100644 --- a/app/collect.py +++ b/app/collect.py @@ -11,21 +11,21 @@ from . import db def parse_wins_top(message: Message) -> None: """Выполняет парсинг данных топа побед членов клана""" if message.text.startswith('🏆 Топ по победам'): - gamers = message.text.split('\n') - gamers.pop(0) - gamers.pop(0) + players = message.text.split('\n') + players.pop(0) + players.pop(0) WINS = list() - for idx, gamer in enumerate(gamers): - gamer = re.sub(r'^\d+. ', '', gamer) # удаляет нумерацию - gamer, battle_count = gamer.split(' - ') # разделяет ник и количество побед в клановых сражениях + for idx, player in enumerate(players): + player = re.sub(r'^\d+. ', '', player) # удаляет нумерацию + player, battle_count = player.split(' - ') # разделяет ник и количество побед в клановых сражениях # оставляет ники игроков, Python не может в эмодзи в RegExp, по этому пришлось делать через str.replace() - # gamer = re.sub(r'\s[⚡⚜]$', '', gamer) - gamer = gamer.replace(' ⚡', '') - gamer = gamer.replace(' ⚜', '').replace('\ufe0f', '') - gamer = gamer.replace(' 💎', '') + # player = re.sub(r'\s[⚡⚜]$', '', player) + player = player.replace(' ⚡', '') + player = player.replace(' ⚜', '').replace('\ufe0f', '') + player = player.replace(' 💎', '') battle_count = battle_count.replace(' ⚔', '') # удаляем эмодзи мечей battle_count = int(re.sub(r'[^\x00-\x7F]', '', battle_count)) # преобразовывает строку в число @@ -33,12 +33,12 @@ def parse_wins_top(message: Message) -> None: WINS.append( { # 'telegram_id': message.entities[idx].url.strip('http://t.me/'), - 'username': gamer, + 'username': player, 'count': battle_count, } ) - # print('{0} - {1} (@{2})'.format(gamer, battle_count, message.entities[idx].url.strip('http://t.me/'))) + # print('{0} - {1} (@{2})'.format(player, battle_count, message.entities[idx].url.strip('http://t.me/'))) print(WINS) db.add_data(WINS, True)