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):
|
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",
|
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()
|
(original_name,ru_name,year)).fetchone()
|
||||||
if already_watched is not None:
|
if already_watched:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
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):
|
def per_user_accepted_movie_count(acct=str):
|
||||||
user_suggested_count = c.execute(f"SELECT user_suggested FROM poll WHERE user_suggested == (?)", (acct,)).fetchall()
|
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 re
|
||||||
import logging
|
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.fedi_api import get_status_context, get_status, post_status
|
||||||
from src.kinopoisk_api import get_kinopoisk_movie
|
from src.kinopoisk_api import get_kinopoisk_movie
|
||||||
from src.imdb_datasets_worker import get_title_by_id
|
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_states_db import get_state, add_state
|
||||||
from src.fmn_poll import create_poll_movies, get_winner_movie
|
from src.fmn_poll import create_poll_movies, get_winner_movie
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ def scan_context_thread():
|
||||||
message_writer.append("❌ Не найдено.")
|
message_writer.append("❌ Не найдено.")
|
||||||
elif movie[index_type] not in ("movie", "FILM", "video"):
|
elif movie[index_type] not in ("movie", "FILM", "video"):
|
||||||
type_of_title = movie[index_type]
|
type_of_title = movie[index_type]
|
||||||
message_writer.append(f"❌ Не принято: Мы принимаем фильмы, если они: полнометражные, художественные, не являются сериалами")
|
message_writer.append(f"❌ Не принято:\n- Нам не подходят: сериалы, короткометражные и документальные фильмы")
|
||||||
logger.info(f'Предложение {acct} отклонено: не подходящий тип фильма: {type_of_title}')
|
logger.info(f'Предложение {acct} отклонено: не подходящий тип фильма: {type_of_title}')
|
||||||
else:
|
else:
|
||||||
|
|
||||||
|
@ -116,9 +116,14 @@ def scan_context_thread():
|
||||||
if name_ru is None:
|
if name_ru is None:
|
||||||
movie_string = f"{name}, {year}"
|
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:
|
if get_already_watched(name, name_ru, year) == True:
|
||||||
message_writer.append(f"ℹ️Этот фильм уже был на FMN: {movie_string}")
|
message_writer.append(f"ℹ️Этот фильм уже был на FMN: {movie_string}")
|
||||||
logger.info('Попытка предложить уже просмотренный фильм: {acct} {name} {name_ru} {year}')
|
logger.info(f'Попытка предложить уже просмотренный фильм: {acct} {name} {name_ru} {year}')
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if add_movie_to_poll(acct, name, name_ru, year) == True:
|
if add_movie_to_poll(acct, name, name_ru, year) == True:
|
||||||
|
|
Loading…
Reference in New Issue