Compare commits
6 Commits
1.3
...
9f64305050
Author | SHA1 | Date | |
---|---|---|---|
9f64305050 | |||
4954f39a91 | |||
3edeb86b6c | |||
c7675c231f | |||
ae88fccf13 | |||
e29eefe40b |
@ -35,7 +35,7 @@ class _Accounts(pydantic.BaseModel):
|
||||
def _accounts_list_to_json(accounts: Iterable[DecryptedAccount]) -> str:
|
||||
result = _Accounts(
|
||||
accounts=[_Account.from_usual_account(i) for i in accounts],
|
||||
).json(ensure_ascii=False)
|
||||
).json(ensure_ascii=False, indent=2)
|
||||
return result
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@ states: dict[tuple[int, int], Handler] = {}
|
||||
|
||||
def register_state(
|
||||
message: Message,
|
||||
handler: Callable[[Message], Any],
|
||||
handler: Handler,
|
||||
) -> None:
|
||||
states[(message.chat.id, message.from_user.id)] = handler
|
||||
|
||||
@ -40,9 +40,8 @@ async def delete_message(
|
||||
*,
|
||||
sleep_time: int = 0,
|
||||
) -> bool:
|
||||
await asyncio.sleep(sleep_time)
|
||||
try:
|
||||
if sleep_time != 0:
|
||||
await asyncio.sleep(sleep_time)
|
||||
await bot.delete_message(mes.chat.id, mes.id)
|
||||
except telebot.apihelper.ApiException:
|
||||
return False
|
||||
|
@ -540,7 +540,6 @@ async def _export2(
|
||||
)
|
||||
tasks.append(loop.run_in_executor(pool, function))
|
||||
accounts = await asyncio.gather(*tasks)
|
||||
accounts.sort(key=lambda account: account.name)
|
||||
json_io = accounts_to_json(accounts)
|
||||
await bot.send_document(
|
||||
mes.chat.id,
|
||||
@ -650,11 +649,12 @@ async def _import3(
|
||||
failed.append(account.name)
|
||||
|
||||
if failed:
|
||||
mes_text = "Не удалось добавить:\n" + "\n".join(failed)
|
||||
await send_deleteable_message(
|
||||
bot, mes.chat.id, "Не удалось добавить:\n" + "\n".join(failed)
|
||||
)
|
||||
else:
|
||||
mes_text = "Успех"
|
||||
await send_tmp_message(bot, mes.chat.id, "Успех")
|
||||
|
||||
await send_tmp_message(bot, mes.chat.id, mes_text, 10)
|
||||
del text, mes, accounts
|
||||
gc.collect()
|
||||
|
||||
|
@ -36,8 +36,12 @@ def get_account_names(
|
||||
|
||||
def get_accounts(engine: Engine, user_id: int) -> list[models.Account]:
|
||||
"""Returns a list of accounts of a user"""
|
||||
statement = sqlmodel.select(models.Account).where(
|
||||
models.Account.user_id == user_id,
|
||||
statement = (
|
||||
sqlmodel.select(models.Account)
|
||||
.where(
|
||||
models.Account.user_id == user_id,
|
||||
)
|
||||
.order_by(models.Account.name)
|
||||
)
|
||||
with sqlmodel.Session(engine) as session:
|
||||
result = session.exec(statement).fetchall()
|
||||
|
@ -4,7 +4,11 @@ import sqlmodel
|
||||
class MasterPass(sqlmodel.SQLModel, table=True):
|
||||
__tablename__ = "master_passwords"
|
||||
user_id: int = sqlmodel.Field(
|
||||
sa_column=sqlmodel.Column(sqlmodel.INT(), primary_key=True)
|
||||
sa_column=sqlmodel.Column(
|
||||
sqlmodel.INT(),
|
||||
primary_key=True,
|
||||
autoincrement=False,
|
||||
)
|
||||
)
|
||||
salt: bytes = sqlmodel.Field(
|
||||
sa_column=sqlmodel.Column(sqlmodel.BINARY(64), nullable=False)
|
||||
|
Reference in New Issue
Block a user