From b8b7b6f70bac415fb9718033d4e41cf9b61ac4b4 Mon Sep 17 00:00:00 2001 From: localhost_frssoft Date: Sat, 3 Sep 2022 02:00:23 +0300 Subject: [PATCH] Update: * Added README * Custom browser variable for auth_helper.sh * Fix requirements * Fix dataset converter --- README.md | 36 ++++++++++++++++++++++++++++++++++++ auth_helper.sh | 4 ++-- requirements.txt | 2 +- src/imdb_datasets_worker.py | 2 +- 4 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b37fe8a --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# Fediverse Movie Night Bot (FMN Bot) + +Бот для автоматизации сбора предложений фильмов на FMN и создания голосования + + +# Первичная инициализация +* Установка зависимостей python3 +``` +pip install -r requirements.txt +``` + +* Обновите\создайте базу imdb +Убедитесь, что у вас есть минимум 850~ мегабайт свободного места. +``` +python3 update_imdb_database.py +``` +Этот процесс довольно продолжительный (5~ минут). После завершения, загруженные датасеты \*.tsv.gz можно удалить. +База может весить около 390~ мегабайт. + +* [Зарегистрируйтесь](https://kinopoiskapiunofficial.tech/signup) и получите токен-ключ для неофициального API Кинопоиска +Имейте ввиду, что даже будучи неофициальным - они не принимают анонимную почту, так что нужно ещё иметь какой-нибудь настоящий ящик для всякой всячины. Скопируйте токен. +``` +touch .auth_kinopoisk +chmod 600 .auth_kinopoisk +``` +Вставьте без пробелов ваш токен в файл .auth_kinopoisk + +* Авторизация в Fediverse (гарантированно работает с Pleroma) +Убедитесь, что у вас есть curl, jq и любой браузер (в т.ч. консольные w3m, links, lynx...) +``` +browser=links ./auth_helper.sh +``` +Следуйте указаниям скрипта, залогиньтесь в ваш аккаунт и скопируйте код-ключ с браузера, закройте и вставьте в появившееся поле ввода. + +* Настройка бота +В файле config.py описан каждый параметр, который можно менять diff --git a/auth_helper.sh b/auth_helper.sh index 4aeae8f..fc7c3c1 100755 --- a/auth_helper.sh +++ b/auth_helper.sh @@ -1,7 +1,7 @@ #!/bin/sh default_auth_browser() { - w3m $@ + $browser $@ } mkdir -m 711 -p .app_sessions @@ -10,7 +10,7 @@ mkdir -m 711 -p .app_sessions echo 'Input instance (example.example)' read instance -echo 'Input client/app name' +echo 'Input client/app name (Example: FMN_bot)' read client_name export instance_point="https://$instance/api/v1" diff --git a/requirements.txt b/requirements.txt index 2d129c3..42faa4e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ requests -dateutil +python-dateutil diff --git a/src/imdb_datasets_worker.py b/src/imdb_datasets_worker.py index f73879a..d743bbf 100644 --- a/src/imdb_datasets_worker.py +++ b/src/imdb_datasets_worker.py @@ -40,6 +40,7 @@ def convert_tsv_to_db(title_basics_tsv): if counter >= 1000: c.executemany("INSERT OR REPLACE INTO titles(tt_id, type, original_name, ru_name, year) VALUES (?, ?, ?, ?, ?)", write_dataset) write_dataset = [] + counter = 0 except Exception as E: print(E) pass @@ -83,6 +84,5 @@ def get_title_by_id(films_ids=list): for i in films_ids: tt_film = c.execute(f"SELECT * FROM titles WHERE tt_id={i}").fetchone() tt_list.append(tt_film) - print(tt_list) return tt_list