From 6218c00aa9f1a1fa154fa23d210bfd3400b2e988 Mon Sep 17 00:00:00 2001 From: Aevann Date: Mon, 11 Sep 2023 22:26:16 +0300 Subject: [PATCH] silence annoying errors --- files/classes/user.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/files/classes/user.py b/files/classes/user.py index 432287323..402c992cd 100644 --- a/files/classes/user.py +++ b/files/classes/user.py @@ -8,6 +8,7 @@ from sqlalchemy.orm import aliased, deferred, Query from sqlalchemy.sql import case, func, literal from sqlalchemy.sql.expression import not_, and_, or_ from sqlalchemy.sql.sqltypes import * +from sqlalchemy.exc import OperationalError from flask import g, session, request from files.classes import Base @@ -209,7 +210,12 @@ class User(Base): user_query = g.db.query(User).options(load_only(User.id)).filter_by(id=self.id) if currency == 'coins': - user_query.update({ User.coins: User.coins + amount }) + try: + user_query.update({ User.coins: User.coins + amount }) + except OperationalError as e: + if str(e).startswith('(psycopg2.errors.QueryCanceled) canceling statement due to statement timeout'): + abort(409, f"Statement timeout while trying to pay @{self.username} {amount} coins!") + raise else: user_query.update({ User.marseybux: User.marseybux + amount })