mirror of
https://gitea.phreedom.club/localhost_frssoft/FMN_bot
synced 2024-11-22 13:59:20 +02:00
Implemented limit on suggested movies
This commit is contained in:
parent
85ede6672b
commit
aee5d2a9c9
|
@ -30,12 +30,16 @@ def mark_as_watched_movie(original_name=None, ru_name=None, year=None):
|
|||
def get_already_watched(original_name=None, ru_name=None, year=None):
|
||||
already_watched = c.execute(f"SELECT * FROM watched_movies WHERE original_name == (?) AND ru_name == (?) AND year == (?) COLLATE NOCASE",
|
||||
(original_name,ru_name,year)).fetchone()
|
||||
if already_watched is not None:
|
||||
if already_watched:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def get_suggested_movies_count():
|
||||
poll_count = c.execute(f"SELECT * FROM poll").fetchall()
|
||||
return len(poll_count)
|
||||
|
||||
|
||||
def per_user_accepted_movie_count(acct=str):
|
||||
user_suggested_count = c.execute(f"SELECT user_suggested FROM poll WHERE user_suggested == (?)", (acct,)).fetchall()
|
||||
|
|
|
@ -5,11 +5,11 @@ from dateutil.relativedelta import relativedelta, TU
|
|||
|
||||
import re
|
||||
import logging
|
||||
from config import hour_poll_posting, bot_acct, instance
|
||||
from config import hour_poll_posting, bot_acct, instance, limit_all_movies_poll
|
||||
from src.fedi_api import get_status_context, get_status, post_status
|
||||
from src.kinopoisk_api import get_kinopoisk_movie
|
||||
from src.imdb_datasets_worker import get_title_by_id
|
||||
from src.fmn_database import add_movie_to_poll, get_already_watched
|
||||
from src.fmn_database import add_movie_to_poll, get_already_watched, get_suggested_movies_count
|
||||
from src.fmn_states_db import get_state, add_state
|
||||
from src.fmn_poll import create_poll_movies, get_winner_movie
|
||||
|
||||
|
@ -102,7 +102,7 @@ def scan_context_thread():
|
|||
message_writer.append("❌ Не найдено.")
|
||||
elif movie[index_type] not in ("movie", "FILM", "video"):
|
||||
type_of_title = movie[index_type]
|
||||
message_writer.append(f"❌ Не принято: Мы принимаем фильмы, если они: полнометражные, художественные, не являются сериалами")
|
||||
message_writer.append(f"❌ Не принято:\n- Нам не подходят: сериалы, короткометражные и документальные фильмы")
|
||||
logger.info(f'Предложение {acct} отклонено: не подходящий тип фильма: {type_of_title}')
|
||||
else:
|
||||
|
||||
|
@ -116,9 +116,14 @@ def scan_context_thread():
|
|||
if name_ru is None:
|
||||
movie_string = f"{name}, {year}"
|
||||
|
||||
if get_suggested_movies_count() >= limit_all_movies_poll:
|
||||
post_status('🎬 Мы не можем обработать ваше предложение: количество уже предложенных не помещается в лимит голосовалки.', id_st)
|
||||
logger.warning(f'Предложение {acct} было отклонено: количество уже предложенных фильмов превышает\равно {limit_all_movies_poll}')
|
||||
break
|
||||
|
||||
if get_already_watched(name, name_ru, year) == True:
|
||||
message_writer.append(f"ℹ️Этот фильм уже был на FMN: {movie_string}")
|
||||
logger.info('Попытка предложить уже просмотренный фильм: {acct} {name} {name_ru} {year}')
|
||||
logger.info(f'Попытка предложить уже просмотренный фильм: {acct} {name} {name_ru} {year}')
|
||||
continue
|
||||
|
||||
if add_movie_to_poll(acct, name, name_ru, year) == True:
|
||||
|
|
Loading…
Reference in New Issue