htdocs/node/addvideos.js
2024-12-24 22:44:26 +00:00

44 lines
1.3 KiB
JavaScript
Executable File

const fs = require('fs/promises');
async function readFilesAndPopulateVideos(path) {
try {
const files = await fs.readdir(path);
// Use Promise.all to wait for all fs.stat operations to complete
const statsPromises = files.map(async (file) => {
const filePath = `${path}/${file}`;
const stats = await fs.stat(filePath);
return [file, stats.mtime];
});
const videos = await Promise.all(statsPromises);
// Sort the videos array by modification time (most recent first)
videos.sort((a, b) => b[1] - a[1]);
console.log('Videos:', videos);
return videos;
} catch (err) {
console.error('Error reading directory:', err);
throw err;
}
}
// Call the function with await
(async () => {
try {
const videos = await readFilesAndPopulateVideos('/var/www/html/video/videos');
const videosJSFileContent = `let videos = ${JSON.stringify(videos)}
if (typeof module !== 'undefined' && module.exports) {
module.exports = videos;
}`;
await fs.writeFile("/var/www/html/video/videos.js", videosJSFileContent);
console.log('File has been written successfully.');
} catch (err) {
console.error('Error:', err);
}
})();