/
HitriyKrab
/
FilmsBot
Обзор
Документация
Войти
/
HitriyKrab
/
FilmsBot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
SearchingFilmsBot/database.py
49 строк
1 KB
ХитрыйКраб
first_commit
23 янв 2026, 19:24
23 янв 2026, 19:24
574bba1
Код
Авторство
О чём код?
from peewee import * import datetime db = SqliteDatabase('movies_bot.db') class BaseModel(Model): class Meta: database = db class User(BaseModel): user_id = IntegerField(unique=True) class SearchHistory(BaseModel): user = ForeignKeyField(User, backref='searches') query = CharField() date = DateTimeField(default=datetime.datetime.now) movie_title = CharField() description = TextField() rating = CharField() year = CharField() genre = CharField() age_rating = CharField() poster = CharField() def create_tables(): with db: db.create_tables([User, SearchHistory]) # Функции работы с БД def get_or_create_user(user_id: int): user, created = User.get_or_create(user_id=user_id) return user def add_search_history(user, query: str, movie: dict): return SearchHistory.create( user=user, query=query, movie_title=movie.get('Title', ''), description=movie.get('Plot', ''), rating=movie.get('imdbRating', 'N/A'), year=movie.get('Year', ''), genre=movie.get('Genre', ''), age_rating=movie.get('Rated', ''), poster=movie.get('Poster', '') ) def get_user_history(user, limit=10): return SearchHistory.select().where(SearchHistory.user == user).order_by(SearchHistory.date.desc()).limit(limit)