add expiry time to in-memory external track files
This commit is contained in:
parent
e092f835d5
commit
6bcc874243
@ -5,6 +5,7 @@ import crypto from 'crypto'
|
|||||||
|
|
||||||
const fs = require('fs').promises
|
const fs = require('fs').promises
|
||||||
const values = require(path.join(process.cwd(), 'values.json'))
|
const values = require(path.join(process.cwd(), 'values.json'))
|
||||||
|
const memexpire = 1800
|
||||||
|
|
||||||
let externalTracks = {}
|
let externalTracks = {}
|
||||||
let downloadQueue = []
|
let downloadQueue = []
|
||||||
@ -37,7 +38,11 @@ async function downloadLocally (id) {
|
|||||||
async function getTrackMetaReal (id) {
|
async function getTrackMetaReal (id) {
|
||||||
if (!id || !externalTracks[id]) return null
|
if (!id || !externalTracks[id]) return null
|
||||||
let trdata = externalTracks[id]
|
let trdata = externalTracks[id]
|
||||||
if (trdata.file) return Object.assign({}, trdata)
|
|
||||||
|
// Check for expiry
|
||||||
|
if (trdata.file && trdata.expires > Date.now()) {
|
||||||
|
return Object.assign({}, trdata)
|
||||||
|
}
|
||||||
|
|
||||||
let trsrch = 'ytsearch1:' + trdata.artist + ' - ' + trdata.title
|
let trsrch = 'ytsearch1:' + trdata.artist + ' - ' + trdata.title
|
||||||
let dldata = await dl.getVideoInfo(trsrch)
|
let dldata = await dl.getVideoInfo(trsrch)
|
||||||
@ -48,6 +53,7 @@ async function getTrackMetaReal (id) {
|
|||||||
artist: trdata.artist,
|
artist: trdata.artist,
|
||||||
file: dldata.url,
|
file: dldata.url,
|
||||||
duration: dldata.duration,
|
duration: dldata.duration,
|
||||||
|
expires: Date.now() + memexpire * 1000,
|
||||||
external: true
|
external: true
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,7 +82,8 @@ async function search (track, limit = 30) {
|
|||||||
id: createHash(res),
|
id: createHash(res),
|
||||||
artist: res.artist,
|
artist: res.artist,
|
||||||
title: res.name,
|
title: res.name,
|
||||||
external: true
|
external: true,
|
||||||
|
mbid: res.mbid
|
||||||
}
|
}
|
||||||
|
|
||||||
if (externalTracks[clean.id]) {
|
if (externalTracks[clean.id]) {
|
||||||
|
Loading…
Reference in New Issue
Block a user