add 移动多文件
This commit is contained in:
parent
4bc2504a44
commit
b675e3033d
@ -1,5 +1,5 @@
|
|||||||
const Router = require("koa-router")
|
const Router = require("koa-router")
|
||||||
const {search, gen_douban} = require("../util/ptgen")
|
const {serach, gen_douban} = require("../util/ptgen")
|
||||||
const axios = require("axios")
|
const axios = require("axios")
|
||||||
const cheerio = require("cheerio");
|
const cheerio = require("cheerio");
|
||||||
const {addSub, getSub, delSub} = require("../util/sql/video"); // HTML页面解析
|
const {addSub, getSub, delSub} = require("../util/sql/video"); // HTML页面解析
|
||||||
@ -13,7 +13,7 @@ const router = new Router({
|
|||||||
*/
|
*/
|
||||||
router.get("/searchVideo", async (ctx) => {
|
router.get("/searchVideo", async (ctx) => {
|
||||||
let name = ctx.query.name
|
let name = ctx.query.name
|
||||||
ctx.body = await search(name)
|
ctx.body = await serach(name)
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ const fs = require("fs")
|
|||||||
const { getMediaState } = require("../sql/download.js");
|
const { getMediaState } = require("../sql/download.js");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const { cwd } = require("process");
|
const { cwd } = require("process");
|
||||||
const { createTorrent, getVideoSpecifyTimeImage, uploadImg, getMediaInfoSend, deleteFolder } = require("../utils.js");
|
const { createTorrent, getVideoSpecifyTimeImage, uploadImg, getMediaInfoSend, deleteFolder, moveDir } = require("../utils.js");
|
||||||
const { getVideoInfo } = require("../sql/video.js");
|
const { getVideoInfo } = require("../sql/video.js");
|
||||||
const { mkdirRecursions } = require("../markdir.js");
|
const { mkdirRecursions } = require("../markdir.js");
|
||||||
const { default: axios } = require("axios");
|
const { default: axios } = require("axios");
|
||||||
@ -106,11 +106,10 @@ async function sendSeed(info) {
|
|||||||
}
|
}
|
||||||
// 移动到做种文件夹
|
// 移动到做种文件夹
|
||||||
mkdirRecursions(newDir + "/" + info.seedName + "/")
|
mkdirRecursions(newDir + "/" + info.seedName + "/")
|
||||||
fs.renameSync(info.newPath + "/" + info.rname, newDir + "/" + info.seedName + "/" + info.rname);
|
// fs.renameSync(info.newPath + "/" + info.rname, newDir + "/" + info.seedName + "/" + info.rname);
|
||||||
|
moveDir(info.newPath + "/" ,newDir + "/" + info.seedName + "/")
|
||||||
// 删除下载的文件夹
|
// 删除下载的文件夹
|
||||||
deleteFolder(info.newPath)
|
deleteFolder(info.newPath)
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log("未下载完成")
|
console.log("未下载完成")
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
const axios = require("axios")
|
const axios = require("axios")
|
||||||
const cheerio = require("cheerio"); // HTML页面解析
|
const cheerio = require("cheerio"); // HTML页面解析
|
||||||
async function search(name) {
|
async function serach(name) {
|
||||||
const list = await axios.get(`https://movie.douban.com/j/subject_suggest?q=${name}`, {
|
const list = await axios.get(`https://movie.douban.com/j/subject_suggest?q=${name}`, {
|
||||||
proxy: false,
|
proxy: false,
|
||||||
})
|
})
|
||||||
@ -212,6 +212,6 @@ async function gen_douban(sid) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
serach: search,
|
serach,
|
||||||
gen_douban
|
gen_douban
|
||||||
}
|
}
|
@ -38,10 +38,10 @@ async function addVideoInfo(cover){
|
|||||||
// 获取当前剧集是否下载完成
|
// 获取当前剧集是否下载完成
|
||||||
// todo 多集连发
|
// todo 多集连发
|
||||||
async function getMediaState(vid){
|
async function getMediaState(vid){
|
||||||
// let sql = `select * from download where vid=? and state!=1`
|
let sql = `select * from download where vid=? and state!=1`
|
||||||
// let list = await getAll(sql,vid)
|
let list = await getAll(sql,vid)
|
||||||
// return !list.length
|
return !list.length
|
||||||
return true
|
// return true
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
@ -11,7 +11,7 @@ function spawn(exe, arg, config) {
|
|||||||
if (!config) {
|
if (!config) {
|
||||||
config = {}
|
config = {}
|
||||||
}
|
}
|
||||||
config.env = {...process.env}
|
config.env = { ...process.env }
|
||||||
config.env.Path = [path.join(cwd(), '/bin'), path.join(cwd(), '/bin/MediaInfoCLI'), path.join(cwd(), '/bin/Transmission')].join(";")
|
config.env.Path = [path.join(cwd(), '/bin'), path.join(cwd(), '/bin/MediaInfoCLI'), path.join(cwd(), '/bin/Transmission')].join(";")
|
||||||
|
|
||||||
return spawn2(exe, arg, config)
|
return spawn2(exe, arg, config)
|
||||||
@ -110,7 +110,7 @@ function getMediaInfo(filePath) {
|
|||||||
console.log(all)
|
console.log(all)
|
||||||
resolve(JSON.parse(all))
|
resolve(JSON.parse(all))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -130,7 +130,7 @@ function getMediaInfoSend(filePath) {
|
|||||||
lux.stdout.on('close', () => {
|
lux.stdout.on('close', () => {
|
||||||
resolve(all)
|
resolve(all)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -156,7 +156,7 @@ function createTorrent(filePath, save) {
|
|||||||
|
|
||||||
|
|
||||||
function dow(info, callback) {
|
function dow(info, callback) {
|
||||||
console.log( ['--cookies-from-browser', 'chrome', '-P', info.save, '-o', info.title + '.mp4', info.url].join(" "))
|
console.log(['--cookies-from-browser', 'chrome', '-P', info.save, '-o', info.title + '.mp4', info.url].join(" "))
|
||||||
const lux = spawn("yt-dlp", ['--cookies-from-browser', 'chrome', '-P', info.save, '-o', info.title + '.mp4', info.url], {
|
const lux = spawn("yt-dlp", ['--cookies-from-browser', 'chrome', '-P', info.save, '-o', info.title + '.mp4', info.url], {
|
||||||
env: {
|
env: {
|
||||||
path: path.join(cwd(), './bin/')
|
path: path.join(cwd(), './bin/')
|
||||||
@ -214,12 +214,12 @@ function formatSeconds(value) {
|
|||||||
* @param {string} filePath 文件路径
|
* @param {string} filePath 文件路径
|
||||||
* @returns {boolean} true存在,false不存在
|
* @returns {boolean} true存在,false不存在
|
||||||
*/
|
*/
|
||||||
function fileIsExist(filePath){
|
function fileIsExist(filePath) {
|
||||||
if (fs.existsSync(filePath)) {
|
if (fs.existsSync(filePath)) {
|
||||||
return true
|
return true
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -230,21 +230,46 @@ function fileIsExist(filePath){
|
|||||||
function deleteFolder(filePath) {
|
function deleteFolder(filePath) {
|
||||||
const files = []
|
const files = []
|
||||||
if (fs.existsSync(filePath)) {
|
if (fs.existsSync(filePath)) {
|
||||||
const files = fs.readdirSync(filePath)
|
const files = fs.readdirSync(filePath)
|
||||||
files.forEach((file) => {
|
files.forEach((file) => {
|
||||||
const nextFilePath = `${filePath}/${file}`
|
const nextFilePath = `${filePath}/${file}`
|
||||||
const states = fs.statSync(nextFilePath)
|
const states = fs.statSync(nextFilePath)
|
||||||
if (states.isDirectory()) {
|
if (states.isDirectory()) {
|
||||||
//recurse
|
//recurse
|
||||||
deleteFolder(nextFilePath)
|
deleteFolder(nextFilePath)
|
||||||
} else {
|
} else {
|
||||||
//delete file
|
//delete file
|
||||||
fs.unlinkSync(nextFilePath)
|
fs.unlinkSync(nextFilePath)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
fs.rmdirSync(filePath)
|
fs.rmdirSync(filePath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 移动文件夹下的所有文件(不包括文件夹)
|
||||||
|
* @param {string} sourceFolder 源文件夹
|
||||||
|
* @param {string} targetFolder 目标文件夹
|
||||||
|
*/
|
||||||
|
function moveDir(sourceFolder,targetFolder ){
|
||||||
|
try {
|
||||||
|
// 读取源文件夹中的所有文件
|
||||||
|
const files = fs.readdirSync(sourceFolder);
|
||||||
|
|
||||||
|
// 遍历源文件夹中的文件
|
||||||
|
files.forEach(file => {
|
||||||
|
// 构建源文件和目标文件的完整路径
|
||||||
|
const sourcePath = path.join(sourceFolder, file);
|
||||||
|
const targetPath = path.join(targetFolder, file);
|
||||||
|
|
||||||
|
// 移动文件
|
||||||
|
fs.renameSync(sourcePath, targetPath);
|
||||||
|
console.log(`成功移动文件 ${file}`);
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
console.error('无法读取源文件夹或移动文件:', err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
@ -258,5 +283,6 @@ module.exports = {
|
|||||||
spawn,
|
spawn,
|
||||||
fileIsExist,
|
fileIsExist,
|
||||||
getMediaInfoSend,
|
getMediaInfoSend,
|
||||||
deleteFolder
|
deleteFolder,
|
||||||
|
moveDir
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user