video-stream/driver/database/data_sql.py

35 lines
806 B
Python
Raw Normal View History

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()