Ajout des fonctionnalitée pour nextcloud
This commit is contained in:
@@ -4,17 +4,19 @@ from subprocess import Popen, PIPE
|
||||
from functools import wraps
|
||||
import requests
|
||||
import atexit
|
||||
from flask import Flask, render_template, request, jsonify
|
||||
from flask import Flask, render_template, request, jsonify, session, make_response
|
||||
from markupsafe import escape
|
||||
from flask_autoindex import AutoIndex
|
||||
import warnings
|
||||
import giphypop
|
||||
|
||||
from deezer_downloader.configuration import config
|
||||
from deezer_downloader.web.music_backend import sched
|
||||
from deezer_downloader.web.music_backend import sched, check_and_set_download_dirs_exist
|
||||
from deezer_downloader.deezer import deezer_search, init_deezer_session
|
||||
from deezer_downloader.nextcloud import addJwtInUserSession
|
||||
|
||||
app = Flask(__name__)
|
||||
app.secret_key = "vilvhmqerjgùqrgojpùqjgvnùzevoijrpùvqpzejgijzepgùg"
|
||||
auto_index = AutoIndex(app, config["download_dirs"]["base"], add_url_rules=False)
|
||||
auto_index.add_icon_rule('music.png', ext='m3u8')
|
||||
|
||||
@@ -82,6 +84,9 @@ def validate_schema(*parameters_to_check):
|
||||
return wrapper
|
||||
return decorator
|
||||
|
||||
@app.before_request
|
||||
def beforeRequest():
|
||||
addJwtInUserSession(request)
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
@@ -117,7 +122,7 @@ def autoindex(path="."):
|
||||
media_url = "https://cataas.com/cat"
|
||||
|
||||
template_context = {'gif_url': media_url}
|
||||
return auto_index.render_autoindex(path, template_context=template_context)
|
||||
return auto_index.render_autoindex(path=session['user_base_dir'], template_context=template_context)
|
||||
|
||||
|
||||
@app.route('/queue', methods=['GET'])
|
||||
@@ -168,6 +173,7 @@ def deezer_download_song_or_album():
|
||||
add_to_playlist: True|False (add to mpd playlist)
|
||||
create_zip: True|False (create a zip for the album)
|
||||
"""
|
||||
check_and_set_download_dirs_exist()
|
||||
user_input = request.get_json(force=True)
|
||||
desc = "Downloading {}".format(user_input['type'])
|
||||
if user_input['type'] == "track":
|
||||
|
||||
@@ -4,6 +4,7 @@ from os.path import basename
|
||||
import mpd
|
||||
import platform
|
||||
from zipfile import ZipFile, ZIP_DEFLATED
|
||||
from flask import session
|
||||
|
||||
from deezer_downloader.configuration import config
|
||||
from deezer_downloader.youtubedl import youtubedl_download
|
||||
@@ -16,15 +17,16 @@ from deezer_downloader.threadpool_queue import ThreadpoolScheduler, report_progr
|
||||
sched = ThreadpoolScheduler()
|
||||
|
||||
|
||||
def check_download_dirs_exist():
|
||||
def check_and_set_download_dirs_exist():
|
||||
config["download_dirs"]["songs"] = os.path.join(session['user_base_dir'], "DeezerDownload", "songs")
|
||||
config["download_dirs"]["zips"] = os.path.join(session['user_base_dir'], "DeezerDownload","zips")
|
||||
config["download_dirs"]["albums"] = os.path.join(session['user_base_dir'], "DeezerDownload","albums")
|
||||
config["download_dirs"]["playlists"] = os.path.join(session['user_base_dir'], "DeezerDownload","playlists")
|
||||
config["download_dirs"]["youtubedl"] = os.path.join(session['user_base_dir'], "DeezerDownload","youtubedl")
|
||||
for directory in [config["download_dirs"]["songs"], config["download_dirs"]["zips"], config["download_dirs"]["albums"],
|
||||
config["download_dirs"]["playlists"], config["download_dirs"]["youtubedl"]]:
|
||||
os.makedirs(directory, exist_ok=True)
|
||||
|
||||
|
||||
check_download_dirs_exist()
|
||||
|
||||
|
||||
def make_song_paths_relative_to_mpd_root(songs, prefix=""):
|
||||
# ensure last slash
|
||||
config["mpd"]["music_dir_root"] = os.path.join(config["mpd"]["music_dir_root"], '')
|
||||
|
||||
Reference in New Issue
Block a user