add 种子制作
This commit is contained in:
@@ -4,7 +4,8 @@ const { mkdirRecursions } = require('../markdir.js');
|
||||
const schedule = require('node-schedule');
|
||||
const { setDownState, getDownList } = require('../sql/download.js');
|
||||
const { getVideoInfo } = require('../sql/video.js');
|
||||
const fs = require("fs")
|
||||
const fs = require("fs");
|
||||
const { sendSeed } = require('../SendSeed/index.js');
|
||||
|
||||
// 小于10添加0
|
||||
function addZeor(num){
|
||||
@@ -36,7 +37,9 @@ async function reName(dinfo){
|
||||
}
|
||||
// 判断时长 0 为下载 1 下载完成 2 做种 3 没有下载完成或没有会员
|
||||
if(Video.Duration < 4 * 60){
|
||||
return 3
|
||||
return {
|
||||
state: 3
|
||||
}
|
||||
}
|
||||
let fbl = 0
|
||||
if(Video.Height > 3000){
|
||||
@@ -52,13 +55,33 @@ async function reName(dinfo){
|
||||
}else {
|
||||
fbl = 480
|
||||
}
|
||||
let rname = `[${vinfo.name}].${vinfo.rename}.${vinfo.year}.S${addZeor(vinfo.season)}E${addZeor(dinfo.title)}.WEB-DL.${fbl}p.${Video.Format}.${Audio.Format}.mp4`
|
||||
let rname = `[${vinfo.name}].${vinfo.rename}.${vinfo.year}.S${addZeor(vinfo.season)}E${addZeor(dinfo.title)}.WEB-DL.${fbl}p.${Video.Format}.${Audio.Format}@ZmWeb.mp4`
|
||||
let state = fs.renameSync(dinfo.save + "/" + dinfo.title + ".mp4",dinfo.save + "/" + rname)
|
||||
|
||||
let newPath = ""
|
||||
let tem = dinfo.save.split("/")
|
||||
tem.pop()
|
||||
let seedName = `[${vinfo.name}].${vinfo.rename}.${vinfo.year}.S${addZeor(vinfo.season)}.WEB-DL.${fbl}p.${Video.Format}.${Audio.Format}@ZmWeb`
|
||||
tem.push(seedName)
|
||||
newPath = tem.join("/")
|
||||
return {
|
||||
state: 1,
|
||||
info:{
|
||||
vid: dinfo.vid,
|
||||
oldPath: dinfo.save,
|
||||
newPath: newPath,
|
||||
seedName,
|
||||
title: `${vinfo.rename} ${vinfo.year} S${addZeor(vinfo.season)}Epxxx WEB-DL ${fbl}p ${Video.Format} ${Audio.Format}@ZmWeb`,
|
||||
Duration: Video.Duration,
|
||||
rname
|
||||
}
|
||||
}
|
||||
}else{
|
||||
console.log("未找到当前剧集信息")
|
||||
return{
|
||||
state: 0
|
||||
}
|
||||
}
|
||||
return 1
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -80,9 +103,11 @@ async function CheckDown(){
|
||||
if(exist){
|
||||
// 设置状态
|
||||
let s = await reName(dinfo)
|
||||
await setDownState(dinfo.id,1)
|
||||
await setDownState(dinfo.id,s.state)
|
||||
state = false
|
||||
|
||||
if(s.info){
|
||||
sendSeed(s.info)
|
||||
}
|
||||
}else{
|
||||
// 重新下载
|
||||
console.log("下载失败重新下载")
|
||||
|
||||
35
util/SendSeed/index.js
Normal file
35
util/SendSeed/index.js
Normal file
@@ -0,0 +1,35 @@
|
||||
const fs = require("fs")
|
||||
const { getMediaState } = require("../sql/download.js");
|
||||
const path = require("path");
|
||||
const { cwd } = require("process");
|
||||
const { createTorrent, getVideoSpecifyTimeImage } = require("../utils.js");
|
||||
|
||||
async function updateSeed(){
|
||||
|
||||
}
|
||||
|
||||
async function sendSeed(info){
|
||||
console.log(info)
|
||||
let state = await getMediaState(info.vid)
|
||||
console.log(state)
|
||||
if(state){
|
||||
// 重命名文件夹
|
||||
fs.renameSync(info.oldPath, info.newPath);
|
||||
// 创建种子
|
||||
await createTorrent(info.newPath,path.join(cwd(),"/tmp/torrent/" + info.seedName + ".torrent"))
|
||||
// 获取图片
|
||||
for(let i = 1; i < 4; i++){
|
||||
let time = info.Duration
|
||||
time = Math.floor(time / 4)
|
||||
await getVideoSpecifyTimeImage(info.newPath + "/" + info.rname,time * i,path.join(cwd(),"/tmp/imgs/" + i + ".jpg"))
|
||||
}
|
||||
await updateSeed(info.vid,)
|
||||
}else{
|
||||
console.log("未下载完成")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
sendSeed
|
||||
}
|
||||
@@ -35,8 +35,16 @@ async function addVideoInfo(cover){
|
||||
|
||||
}
|
||||
|
||||
// 获取当前剧集是否下载完成
|
||||
async function getMediaState(vid){
|
||||
let sql = `select * from download where vid=? and state!=1`
|
||||
let list = await getAll(sql,vid)
|
||||
return !list.length
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
addDownList,
|
||||
getDownList,
|
||||
setDownState
|
||||
setDownState,
|
||||
getMediaState
|
||||
}
|
||||
@@ -8,8 +8,8 @@ async function addSub(info){
|
||||
if(list.length != 0){
|
||||
return "订阅已存在"
|
||||
}
|
||||
let sql = `insert into VideoInfo(name,rename,skip,desc,url,subtitle,img,year,time,subTime,enable,season,sid,count) values(?,?,?,?,?,?,?,?,?,${new Date().getTime()},1,?,?,?)`
|
||||
await run(sql,info.name,info.rename,info.skip,info.desc,info.url,info.subtitle,info.img,info.year,info.time,info.season,info.sid,info.count)
|
||||
let sql = `insert into VideoInfo(name,rename,skip,desc,url,subtitle,img,year,time,subTime,enable,season,sid,count,imdb) values(?,?,?,?,?,?,?,?,?,${new Date().getTime()},1,?,?,?,?)`
|
||||
await run(sql,info.name,info.rename,info.skip,info.desc,info.url,info.subtitle,info.img,info.year,info.time,info.season,info.sid,info.count,info.imdb)
|
||||
}
|
||||
|
||||
// 获取所有订阅 (不包括已完成)
|
||||
|
||||
@@ -174,15 +174,15 @@ function formatSeconds(value) {
|
||||
minuteTime = parseInt(minuteTime % 60);
|
||||
}
|
||||
}
|
||||
var result = "" + secondTime > 10 ? secondTime : '0' + secondTime;
|
||||
var result = "" + secondTime >= 10 ? secondTime : '0' + secondTime;
|
||||
|
||||
if (minuteTime > 0) {
|
||||
result = "" + minuteTime > 10 ? minuteTime : '0' + minuteTime + ":" + result;
|
||||
result = "" + (minuteTime >= 10 ? minuteTime : '0' + minuteTime) + ":" + result;
|
||||
} else {
|
||||
result = "" + "00" + ":" + result;
|
||||
}
|
||||
if (hourTime > 0) {
|
||||
result = "" + hourTime > 10 ? hourTime : '0' + hourTime + ":" + result;
|
||||
result = "" + (hourTime >= 10 ? hourTime : '0' + hourTime) + ":" + result;
|
||||
} else {
|
||||
result = "" + "00" + ":" + result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user