parent
b1611621dc
commit
995d5f52e4
@ -1,9 +1,13 @@
|
|||||||
[bot]
|
[bot]
|
||||||
comment = Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun !
|
comment = Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun !
|
||||||
volume = 0.1
|
volume = 0.1
|
||||||
admin = User1;User2;
|
admin = User1;User2; # Allow user to kill the bot
|
||||||
music_folder = /home/azlux/botamusique/music_folder
|
music_folder = /home/azlux/botamusique/music_folder/
|
||||||
tmp_folder = /tmp/
|
tmp_folder = /tmp/
|
||||||
|
|
||||||
|
# in Mo, 0 for no cache, -1 for illimited size
|
||||||
|
tmp_folder_max_size = 10
|
||||||
|
|
||||||
ignored_folders = tmp
|
ignored_folders = tmp
|
||||||
ignored_files = Thumbs.db
|
ignored_files = Thumbs.db
|
||||||
|
|
||||||
|
38
media.py
38
media.py
@ -4,6 +4,7 @@ import logging
|
|||||||
import json
|
import json
|
||||||
import http.client
|
import http.client
|
||||||
import struct
|
import struct
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
def get_radio_server_description(url):
|
def get_radio_server_description(url):
|
||||||
@ -76,3 +77,40 @@ def get_url(string):
|
|||||||
return res.group(1)
|
return res.group(1)
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def get_size_folder(path):
|
||||||
|
folder_size = 0
|
||||||
|
for (path, dirs, files) in os.walk(path):
|
||||||
|
for file in files:
|
||||||
|
filename = os.path.join(path, file)
|
||||||
|
folder_size += os.path.getsize(filename)
|
||||||
|
return int(folder_size / (1024 * 1024))
|
||||||
|
|
||||||
|
|
||||||
|
def clear_tmp_folder(path, size):
|
||||||
|
if size == -1:
|
||||||
|
return
|
||||||
|
elif size == 0:
|
||||||
|
for (path, dirs, files) in os.walk(path):
|
||||||
|
for file in files:
|
||||||
|
filename = os.path.join(path, file)
|
||||||
|
os.remove(filename)
|
||||||
|
else:
|
||||||
|
if get_size_folder(path=path) > size:
|
||||||
|
all_files = ""
|
||||||
|
for (path, dirs, files) in os.walk(path):
|
||||||
|
all_files = [os.path.join(path, file) for file in files]
|
||||||
|
all_files.sort(key=lambda x: os.path.getmtime(x))
|
||||||
|
size_tp = 0
|
||||||
|
print(all_files)
|
||||||
|
for idx, file in enumerate(all_files):
|
||||||
|
size_tp += os.path.getsize(file)
|
||||||
|
if int(size_tp/(1024*1024)) > size:
|
||||||
|
logging.info("Cleaning tmp folder")
|
||||||
|
to_remove = all_files[idx:]
|
||||||
|
print(to_remove)
|
||||||
|
for f in to_remove:
|
||||||
|
logging.debug("Removing " + f)
|
||||||
|
os.remove(os.path.join(path, f))
|
||||||
|
return
|
||||||
|
@ -249,6 +249,7 @@ class MumbleBot:
|
|||||||
url = media.get_url(var.current_music[1])
|
url = media.get_url(var.current_music[1])
|
||||||
if not url:
|
if not url:
|
||||||
return
|
return
|
||||||
|
media.clear_tmp_folder(var.config.get('bot', 'tmp_folder'), var.config.getint('bot', 'tmp_folder_max_size'))
|
||||||
path, title = self.download_music(url)
|
path, title = self.download_music(url)
|
||||||
var.current_music[1] = url
|
var.current_music[1] = url
|
||||||
|
|
||||||
@ -295,6 +296,7 @@ class MumbleBot:
|
|||||||
'outtmpl': path,
|
'outtmpl': path,
|
||||||
'noplaylist': True,
|
'noplaylist': True,
|
||||||
'writethumbnail': True,
|
'writethumbnail': True,
|
||||||
|
'updatetime': False,
|
||||||
'postprocessors': [{
|
'postprocessors': [{
|
||||||
'key': 'FFmpegExtractAudio',
|
'key': 'FFmpegExtractAudio',
|
||||||
'preferredcodec': 'mp3',
|
'preferredcodec': 'mp3',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user