parent
b1611621dc
commit
995d5f52e4
@ -1,9 +1,13 @@
|
||||
[bot]
|
||||
comment = Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun !
|
||||
volume = 0.1
|
||||
admin = User1;User2;
|
||||
music_folder = /home/azlux/botamusique/music_folder
|
||||
admin = User1;User2; # Allow user to kill the bot
|
||||
music_folder = /home/azlux/botamusique/music_folder/
|
||||
tmp_folder = /tmp/
|
||||
|
||||
# in Mo, 0 for no cache, -1 for illimited size
|
||||
tmp_folder_max_size = 10
|
||||
|
||||
ignored_folders = tmp
|
||||
ignored_files = Thumbs.db
|
||||
|
||||
|
38
media.py
38
media.py
@ -4,6 +4,7 @@ import logging
|
||||
import json
|
||||
import http.client
|
||||
import struct
|
||||
import os
|
||||
|
||||
|
||||
def get_radio_server_description(url):
|
||||
@ -76,3 +77,40 @@ def get_url(string):
|
||||
return res.group(1)
|
||||
else:
|
||||
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])
|
||||
if not url:
|
||||
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)
|
||||
var.current_music[1] = url
|
||||
|
||||
@ -295,6 +296,7 @@ class MumbleBot:
|
||||
'outtmpl': path,
|
||||
'noplaylist': True,
|
||||
'writethumbnail': True,
|
||||
'updatetime': False,
|
||||
'postprocessors': [{
|
||||
'key': 'FFmpegExtractAudio',
|
||||
'preferredcodec': 'mp3',
|
||||
|
Loading…
x
Reference in New Issue
Block a user