Связка sqlite3+python+pyTelegramBotApi

marina90

Новичок
Пользователь
Окт 31, 2022
3
0
1
Python:
db.py

import sqlite3
import apsw
 
class BotDB():
 
    def __init__(self, db_file):
        self.db=sqlite3.connect(db_file)
        self.cur=self.db.cursor()
 
    def drop_db(self):
        self.cur.execute("DROP table IF EXISTS tovarniye_ostatki")    

    def create_db(self,):
        self.cur.execute("CREATE virtual table IF NOT EXISTS  tovarniye_ostatki USING FTS5 (nazvanie_tovara, ostatok)")
 
    def add_goods(self):
        csv_file='domstroy.csv'
   with open (csv_file,'r', encoding="utf8",) as file:
       for row in file:
           self.cur.execute("INSERT OR IGNORE INTO tovarniye_ostatki VALUES  (?,?)",row.split(";"),)
       return self.db.commit()

   def good_exists(self, user_request):
       user_request=self.user_request
       self.cur.execute(f"SELECT ostatki, nazvanie_tovara  FROM  tovarniye_ostatki WHERE nazvanite_tovara MATCH (?)",)                      
       return result_goods    
       
   def close(self):
       self.db.close()

main.py


from db import BotDb

botdb=BotDb('ostatki.db')
 
@bot.message_handler()
def send_docs(message):
    file_source=r"D:\Proyekt\domstroy_" + message.text + ".csv,'rb'"
    bot.send_document(message.chat.id, file_source)

@bot.message_handler()
def db_user_request(message):
    botdb.drop_db()
    botdb.create_db()
    botdb.add_goods()
    print(botdb.good_exists(message.text))
    db.close()

Уважаемые знатоки, имеются такие файлы.
Я хочу чтобы показались все товары которые содержать message.text. Подскажите пожалуйста, где я допускаю ошибку. Спасибо всем.
 
Последнее редактирование:

Форум IT Специалистов