35 lines
806 B
Python
35 lines
806 B
Python
import threading
|
|
from driver.database import BASE, SESSION
|
|
from sqlalchemy import Column, String, UnicodeText
|
|
|
|
|
|
class Chats(BASE):
|
|
__tablename__ = "chats"
|
|
chat_id = Column(String(14), primary_key=True)
|
|
chat_name = Column(UnicodeText)
|
|
|
|
def __init__(self, chat_id, chat_name=None):
|
|
self.chat_id = chat_id
|
|
self.chat_name = chat_name
|
|
|
|
Chats.__table__.create(checkfirst=True)
|
|
|
|
CHATS_LOCK = threading.RLock()
|
|
CHATS_DATA = set()
|
|
|
|
def del_chat(chat_id):
|
|
with CHATS_LOCK:
|
|
chat = SESSION.query(Chats).get(str(chat_id))
|
|
if chat:
|
|
SESSION.delete(chat)
|
|
SESSION.commit()
|
|
|
|
|
|
def chatlists():
|
|
global CHAT_ID
|
|
try:
|
|
CHAT_ID = {int(x.chat_id) for x in SESSION.query(Chats).all()}
|
|
return CHAT_ID
|
|
finally:
|
|
SESSION.close()
|