filenamify playlist folder name

This commit is contained in:
Araxeus
2022-01-18 18:27:30 +02:00
parent 44aa62c9c8
commit cb920194ce

View File

@ -5,6 +5,7 @@ const { dialog, ipcMain } = require("electron");
const is = require("electron-is"); const is = require("electron-is");
const ytpl = require("ytpl"); const ytpl = require("ytpl");
const chokidar = require('chokidar'); const chokidar = require('chokidar');
const filenamify = require('filenamify');
const { setOptions } = require("../../config/plugins"); const { setOptions } = require("../../config/plugins");
const { sendError } = require("./back"); const { sendError } = require("./back");
@ -94,10 +95,10 @@ async function downloadPlaylist(givenUrl, win, options) {
sendError(win, e); sendError(win, e);
return; return;
} }
const playlistTitle = playlist.title; const safePlaylistTitle = filenamify(playlist.title, {replacement: ' '});
const folder = getFolder(options.downloadFolder); const folder = getFolder(options.downloadFolder);
const playlistFolder = join(folder, playlistTitle); const playlistFolder = join(folder, safePlaylistTitle);
if (existsSync(playlistFolder)) { if (existsSync(playlistFolder)) {
sendError( sendError(
win, win,
@ -111,13 +112,13 @@ async function downloadPlaylist(givenUrl, win, options) {
type: "info", type: "info",
buttons: ["OK"], buttons: ["OK"],
title: "Started Download", title: "Started Download",
message: `Downloading Playlist "${playlistTitle}"`, message: `Downloading Playlist "${playlist.title}"`,
detail: `(${playlist.items.length} songs)`, detail: `(${playlist.items.length} songs)`,
}); });
if (is.dev()) { if (is.dev()) {
console.log( console.log(
`Downloading playlist "${playlistTitle}" - ${playlist.items.length} songs (${playlistId})` `Downloading playlist "${playlist.title}" - ${playlist.items.length} songs (${playlistId})`
); );
} }
@ -143,7 +144,7 @@ async function downloadPlaylist(givenUrl, win, options) {
win.webContents.send( win.webContents.send(
"downloader-download-playlist", "downloader-download-playlist",
song.url, song.url,
playlistTitle, safePlaylistTitle,
options options
); );
}); });