added scripts to create json data files
This commit is contained in:
parent
99976ecc11
commit
b64ee5ffce
|
@ -0,0 +1,70 @@
|
||||||
|
import fs from 'fs/promises'
|
||||||
|
import path from 'path'
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
// variable for incoming variable
|
||||||
|
let mediaDir = ''
|
||||||
|
let outputDir = ''
|
||||||
|
let recurse = false
|
||||||
|
|
||||||
|
// get command line arguments
|
||||||
|
process.argv.forEach(function (val, index) {
|
||||||
|
// console.log(index + ': ' + val)
|
||||||
|
if (val == '-dir') {
|
||||||
|
// console.log(process.argv[index + 1])
|
||||||
|
mediaDir = process.argv[index + 1] || ''
|
||||||
|
}
|
||||||
|
|
||||||
|
if (val == '-r' || val == '-R') {
|
||||||
|
recurse = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (val == '-o') {
|
||||||
|
outputDir = process.argv[index + 1]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// if no media dir jump out
|
||||||
|
if (!mediaDir) {
|
||||||
|
console.log('no directory passed to script')
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// read directory
|
||||||
|
const media = await fs.readdir(mediaDir)
|
||||||
|
|
||||||
|
// clean up directory for json
|
||||||
|
let parent_dir = mediaDir
|
||||||
|
.match(/(?<=\/)(\w|\d)+\/*$/i)[0]
|
||||||
|
.replace(/\/$/i, '')
|
||||||
|
|
||||||
|
if (!outputDir) {
|
||||||
|
outputDir = '.'
|
||||||
|
}
|
||||||
|
|
||||||
|
const obj = await Promise.all(media.map(async m => {
|
||||||
|
|
||||||
|
const _r = {
|
||||||
|
title: '',
|
||||||
|
parent_dir,
|
||||||
|
media: m,
|
||||||
|
}
|
||||||
|
|
||||||
|
if (recurse) {
|
||||||
|
const rDir = path.join(mediaDir, m)
|
||||||
|
const files = await fs.readdir(rDir)
|
||||||
|
|
||||||
|
_r.album = true
|
||||||
|
_r.tracks = files
|
||||||
|
}
|
||||||
|
|
||||||
|
return _r
|
||||||
|
}))
|
||||||
|
|
||||||
|
const json = JSON.stringify(obj, null, 2)
|
||||||
|
let output = `${parent_dir}.json`
|
||||||
|
fs.writeFile(path.join(outputDir, output), json)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
Loading…
Reference in New Issue