This commit is contained in:
lulzette 2022-11-13 11:31:48 +03:00
parent b0c0573d34
commit 7cb3c36759
2 changed files with 14 additions and 13 deletions

3
.gitignore vendored
View File

@ -2,4 +2,5 @@ list.sh
config_python.py config_python.py
config_list.sh config_list.sh
__pycache__ __pycache__
.vscode .vscode
.idea

24
daemon.py Executable file → Normal file
View File

@ -24,10 +24,10 @@ log_file = 'output.log'
def which(command): def which(command):
# Пиздец, почему нет нормального аналога which из bash??? # Пиздец, почему нет нормального аналога which из bash???
''' """
Мой аналог which из bash'а, который отдает true или false Мой аналог which из bash'а, который отдает true или false
при наличии или отсутствии утилиты при наличии или отсутствии утилиты
''' """
for dirs in os.get_exec_path(): for dirs in os.get_exec_path():
if command in os.listdir(dirs): if command in os.listdir(dirs):
# Если что-нибудь нашли, то True # Если что-нибудь нашли, то True
@ -37,9 +37,9 @@ def which(command):
def checkTools(): def checkTools():
''' """
Проверяет, установлены ли необходимые утилиты Проверяет, установлены ли необходимые утилиты
''' """
tools = ('youtube-dl', 'ffmpeg') tools = ('youtube-dl', 'ffmpeg')
for i in tools: for i in tools:
if not which(i): if not which(i):
@ -49,17 +49,17 @@ def checkTools():
def startRecord(i): def startRecord(i):
''' """
Функция, которая запускает в отдельном потоке запись стрима - recorder(i) Функция, которая запускает в отдельном потоке запись стрима - recorder(i)
''' """
th = Thread(target=recorder, args=(i, )) th = Thread(target=recorder, args=(i, ))
th.start() th.start()
def recorder(i): def recorder(i):
''' """
Функция, которая запускает youtube-dl, фактически записывает стрим Функция, которая запускает youtube-dl, фактически записывает стрим
''' """
path = config_python.path + "/" + i path = config_python.path + "/" + i
log.info("Записываем стрим %s\n" % i) log.info("Записываем стрим %s\n" % i)
# cmdline для запуска youtube-dl # cmdline для запуска youtube-dl
@ -68,18 +68,18 @@ def recorder(i):
"https://twitch.tv/" + i] "https://twitch.tv/" + i]
subprocess.call(cmdline) subprocess.call(cmdline)
log.info("Запись стрима %s закончена\n" % i) log.info("Запись стрима %s закончена\n" % i)
if (os.path.exists(path+"/pid")): if os.path.exists(path + "/pid"):
os.remove(path+"/pid") os.remove(path+"/pid")
log.info("lock файл удален") log.info("lock файл удален")
def checkAlive(): def checkAlive():
# FIXME: Распилить ну более мелкие функции # FIXME: Распилить ну более мелкие функции
''' """
1. Проверка на наличие стрима 1. Проверка на наличие стрима
1.1 Если нет - удалить lock файл, если он есть 1.1 Если нет - удалить lock файл, если он есть
1.2 Если есть - создать lock файл, запустить записывалку 1.2 Если есть - создать lock файл, запустить записывалку
''' """
for i in streamers: for i in streamers:
# Путь до диры со стримами # Путь до диры со стримами
path = config_python.path + "/" + i path = config_python.path + "/" + i
@ -118,7 +118,7 @@ def checkAlive():
# Если стрим не идет, то пишем об этом и убираем его из залоченных # Если стрим не идет, то пишем об этом и убираем его из залоченных
log.info(i + " Не стримит") log.info(i + " Не стримит")
# Если есть лок, то удаляем # Если есть лок, то удаляем
if (os.path.exists(path+"/pid")): if os.path.exists(path + "/pid"):
os.remove(path+"/pid") os.remove(path+"/pid")