File size: 939 Bytes
c7dfe8b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
import threading
from sqlalchemy import Column, String
from Database.sql import BASE, SESSION
class KukiChats(BASE):
__tablename__ = "kuki_chats"
chat_id = Column(String(14), primary_key=True)
def __init__(self, chat_id):
self.chat_id = chat_id
KukiChats.__table__.create(checkfirst=True)
INSERTION_LOCK = threading.RLock()
def is_kuki(chat_id):
try:
chat = SESSION.query(KukiChats).get(str(chat_id))
return bool(chat)
finally:
SESSION.close()
def set_kuki(chat_id):
with INSERTION_LOCK:
kukichat = SESSION.query(KukiChats).get(str(chat_id))
if not kukichat:
kukichat = KukiChats(str(chat_id))
SESSION.add(kukichat)
SESSION.commit()
def rem_kuki(chat_id):
with INSERTION_LOCK:
kukichat = SESSION.query(KukiChats).get(str(chat_id))
if kukichat:
SESSION.delete(kukichat)
SESSION.commit()
|