Skip to content

Commit b0ffae3

Browse files
committed
refactor: improve code readability by formatting list comprehensions and enhancing batch append syntax in database operations
1 parent 1beada5 commit b0ffae3

6 files changed

Lines changed: 40 additions & 22 deletions

File tree

src/automod.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ def _cleanup_old_entries(self) -> None:
5050
for user_key in list(self.spam_counter.keys()):
5151
# Фильтруем старые временные метки
5252
self.spam_counter[user_key] = [
53-
t for t in self.spam_counter[user_key]
53+
t
54+
for t in self.spam_counter[user_key]
5455
if (now - t).total_seconds() <= spam_interval * 2
5556
]
5657
# Удаляем пустые записи

src/database/db.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,10 +177,18 @@ async def _check_and_update_schema(self):
177177

178178
# Создание индексов для оптимизации запросов
179179
await conn.execute("CREATE INDEX IF NOT EXISTS idx_levels_guild ON levels(guild_id)")
180-
await conn.execute("CREATE INDEX IF NOT EXISTS idx_levels_user_guild ON levels(user_id, guild_id)")
181-
await conn.execute("CREATE INDEX IF NOT EXISTS idx_warnings_guild_user ON warnings(guild_id, user_id)")
182-
await conn.execute("CREATE INDEX IF NOT EXISTS idx_warnings_issued_at ON warnings(issued_at)")
183-
await conn.execute("CREATE INDEX IF NOT EXISTS idx_tickets_channel ON tickets(channel_id)")
180+
await conn.execute(
181+
"CREATE INDEX IF NOT EXISTS idx_levels_user_guild ON levels(user_id, guild_id)"
182+
)
183+
await conn.execute(
184+
"CREATE INDEX IF NOT EXISTS idx_warnings_guild_user ON warnings(guild_id, user_id)"
185+
)
186+
await conn.execute(
187+
"CREATE INDEX IF NOT EXISTS idx_warnings_issued_at ON warnings(issued_at)"
188+
)
189+
await conn.execute(
190+
"CREATE INDEX IF NOT EXISTS idx_tickets_channel ON tickets(channel_id)"
191+
)
184192
await conn.execute("CREATE INDEX IF NOT EXISTS idx_tickets_guild ON tickets(guild_id)")
185193
logger.info("Созданы индексы для оптимизации запросов")
186194

src/infrastructure/db/levels_repository.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,15 @@ async def migrate_from_json(self, data: Dict) -> None:
7878
batch = []
7979
for guild_id, guild_data in data.items():
8080
for user_id, user_data in guild_data.items():
81-
batch.append((
82-
int(user_id),
83-
int(guild_id),
84-
user_data["xp"],
85-
user_data["level"],
86-
current_time,
87-
))
81+
batch.append(
82+
(
83+
int(user_id),
84+
int(guild_id),
85+
user_data["xp"],
86+
user_data["level"],
87+
current_time,
88+
)
89+
)
8890

8991
# Вставляем все записи одним запросом (игнорируем дубликаты)
9092
if batch:

src/infrastructure/db/warnings_repository.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,16 @@ async def migrate_from_json(self, data: Dict) -> None:
6565
for guild_id, guild_data in data.items():
6666
for user_id, warnings in guild_data.items():
6767
for warning in warnings:
68-
batch.append((
69-
int(user_id),
70-
int(guild_id),
71-
warning.get("reason", ""),
72-
int(warning.get("moderator", 0)),
73-
warning.get("timestamp"),
74-
None,
75-
))
68+
batch.append(
69+
(
70+
int(user_id),
71+
int(guild_id),
72+
warning.get("reason", ""),
73+
int(warning.get("moderator", 0)),
74+
warning.get("timestamp"),
75+
None,
76+
)
77+
)
7678

7779
# Вставляем все записи одним запросом
7880
if batch:

src/leveling_system.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,8 @@ async def get_leaderboard(
339339
if cached:
340340
try:
341341
import json
342-
return json.loads(cached.decode('utf-8'))
342+
343+
return json.loads(cached.decode("utf-8"))
343344
except Exception as e:
344345
logger.warning(f"Failed to load cached leaderboard: {e}")
345346
# Use DB if available
@@ -349,6 +350,7 @@ async def get_leaderboard(
349350
if redis_client:
350351
try:
351352
import json
353+
352354
redis_client.setex(cache_key, 60, json.dumps(result))
353355
except Exception as e:
354356
logger.warning(f"Failed to cache leaderboard: {e}")

src/utils/discord_helpers.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,10 @@ def check_role_hierarchy(
5252
tuple[bool, str | None]: (Можно ли выполнить действие, Сообщение об ошибке)
5353
"""
5454
if target.top_role >= moderator.top_role:
55-
return False, "Вы не можете выполнить это действие на пользователе с равной или более высокой ролью!"
55+
return (
56+
False,
57+
"Вы не можете выполнить это действие на пользователе с равной или более высокой ролью!",
58+
)
5659

5760
if target.guild.owner_id == target.id:
5861
return False, "Вы не можете выполнить это действие на владельце сервера!"

0 commit comments

Comments
 (0)