Сделал функции-обработчики событий
This commit is contained in:
parent
aabf6e597f
commit
fc3378f878
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
config_python.py
|
||||
venv-pg
|
||||
.idea/
|
||||
.idea/
|
||||
output.log
|
48
main.py
48
main.py
@ -1,6 +1,5 @@
|
||||
#!/usr/bin/python3
|
||||
import time
|
||||
|
||||
import config_python
|
||||
from twitchAPI.twitch import Twitch
|
||||
import logging
|
||||
@ -16,14 +15,29 @@ log_format = logging.Formatter('%(asctime)s %(levelname)s:%(message)s')
|
||||
log_file = 'output.log'
|
||||
|
||||
|
||||
# Если стрим идет
|
||||
def stream_message_worker(data: dict):
|
||||
# Если это стрим, а не повтор, значит все в порядке
|
||||
if data['type'] == 'live':
|
||||
game_name = data['game_name']
|
||||
stream_title = data['title']
|
||||
stream_viewers = str(data['viewer_count'])
|
||||
log.info(streamer + " стримит " + game_name + " Title: " + stream_title + " Зрителей: " + stream_viewers)
|
||||
|
||||
|
||||
# Если стрим не идет
|
||||
def no_stream_msg_worker():
|
||||
log.info(streamer + " Не стримит")
|
||||
|
||||
|
||||
def check_alive():
|
||||
"""
|
||||
1. Проверка на наличие стрима
|
||||
1.1 Если нет - удалить lock файл, если он есть
|
||||
1.2 Если есть - создать lock файл, запустить записывалку
|
||||
"""
|
||||
# Получаем инфо о стримере, если не получается, выходим с ошибкой
|
||||
|
||||
# Получаем инфо о стримере, если не получается, выходим с ошибкой
|
||||
resolved_id = twitch_client.get_users(logins=[streamer])
|
||||
if not resolved_id['data']:
|
||||
log.error(
|
||||
@ -32,36 +46,16 @@ def check_alive():
|
||||
'red',
|
||||
)
|
||||
)
|
||||
# # Создаем путь до диры со стримером, если папка не существует
|
||||
# if not (os.path.exists(path)):
|
||||
# os.makedirs(path)
|
||||
# log.info("Создана директория " + i)
|
||||
# Достаем ID стримера из инфо
|
||||
user_id = resolved_id['data'][0]['id']
|
||||
# Получаем стримы
|
||||
user_stream = twitch_client.get_streams(user_id=user_id)
|
||||
# Если стрим идет, то идем дальше
|
||||
# Если стрим/повтор идет, то идем дальше
|
||||
if user_stream['data']:
|
||||
# Если стрим идет и лок файла нет, то записываем и ставим лок
|
||||
if (user_stream['data'][0]['type'] == 'live'):
|
||||
# and not (os.path.exists(config_python.path+"/"+streamer+"/pid")):
|
||||
log.info(streamer + " стримит")
|
||||
# startRecord(i)
|
||||
# open(path+"/pid", 'w').close
|
||||
else:
|
||||
log.info(
|
||||
colored(
|
||||
"Идет запись " + streamer,
|
||||
'red',
|
||||
attrs=['bold']
|
||||
)
|
||||
)
|
||||
stream_message_worker(user_stream['data'][0])
|
||||
else:
|
||||
# Если стрим не идет, то пишем об этом и убираем его из залоченных
|
||||
log.info(streamer + " Не стримит")
|
||||
# Если есть лок, то удаляем
|
||||
# if os.path.exists(path + "/pid"):
|
||||
# os.remove(path+"/pid")
|
||||
|
||||
# Если стрим не идет, то запускаем функцию без параметров
|
||||
no_stream_msg_worker()
|
||||
|
||||
|
||||
def get_console_handler():
|
||||
|
Loading…
Reference in New Issue
Block a user