File size: 1,882 Bytes
44aada1 | 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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | from sqlalchemy import Column, UnicodeText, LargeBinary, Numeric
from telebot.plugins.sql_helper import SESSION, BASE
class Snips(BASE):
__tablename__ = "snips"
snip = Column(UnicodeText, primary_key=True)
reply = Column(UnicodeText)
snip_type = Column(Numeric)
media_id = Column(UnicodeText)
media_access_hash = Column(UnicodeText)
media_file_reference = Column(LargeBinary)
def __init__(
self,
snip, reply, snip_type,
media_id=None, media_access_hash=None, media_file_reference=None
):
self.snip = snip
self.reply = reply
self.snip_type = snip_type
self.media_id = media_id
self.media_access_hash = media_access_hash
self.media_file_reference = media_file_reference
Snips.__table__.create(checkfirst=True)
def get_snips(keyword):
try:
return SESSION.query(Snips).get(keyword)
except BaseException:
return None
finally:
SESSION.close()
def get_all_snips():
try:
return SESSION.query(Snips).all()
except BaseException:
return None
finally:
SESSION.close()
def add_snip(
keyword,
reply,
snip_type,
media_id,
media_access_hash,
media_file_reference):
adder = SESSION.query(Snips).get(keyword)
if adder:
adder.reply = reply
adder.snip_type = snip_type
adder.media_id = media_id
adder.media_access_hash = media_access_hash
adder.media_file_reference = media_file_reference
else:
adder = Snips(keyword, reply, snip_type, media_id,
media_access_hash, media_file_reference)
SESSION.add(adder)
SESSION.commit()
def remove_snip(keyword):
note = SESSION.query(Snips).filter(Snips.snip == keyword)
if note:
note.delete()
SESSION.commit()
|