const fs = require('fs'); const path = require('path'); const VIDEO_DIR = "videos"; const DESCRIPTION_FILE = "description.json"; const INDEX_FILE = "index.json"; function isDirectory(path) { return fs.lstatSync(path).isDirectory(); } let info = []; for (let dir of fs.readdirSync(VIDEO_DIR)) { if (!isDirectory(path.join(VIDEO_DIR, dir))) { continue; } let description = JSON.parse(fs.readFileSync(path.join(VIDEO_DIR, dir, DESCRIPTION_FILE))); description.url = dir + "/"; description.videos = []; for (let subdir of fs.readdirSync(path.join(VIDEO_DIR, dir))) { if (!isDirectory(path.join(VIDEO_DIR, dir, subdir))) { continue; } let subdescription = JSON.parse(fs.readFileSync(path.join(VIDEO_DIR, dir, subdir, DESCRIPTION_FILE))); subdescription.url = subdir + "/"; description.videos.push(subdescription); } info.push(description); } fs.writeFileSync(path.join(VIDEO_DIR, INDEX_FILE), JSON.stringify(info));