node listing subfolders
This commit is contained in:
parent
f1c1e11d50
commit
9745140b30
54
folder-listing-node/index.mjs
Normal file
54
folder-listing-node/index.mjs
Normal file
@ -0,0 +1,54 @@
|
||||
// lister les dossiers dans le dossier stockage syncable pour en tirer une liste de dates d'évènements
|
||||
import fs from 'fs';
|
||||
|
||||
let suffix = ''
|
||||
const folder_photo = `/home/poule/encrypted/stockage-syncable/photos${suffix}`;
|
||||
|
||||
/**
|
||||
* obtenir une liste des dossiers uniquement dans le dossier courant
|
||||
* @param path
|
||||
* @returns {*}
|
||||
*/
|
||||
function getDirectories(path) {
|
||||
return fs.readdirSync(path).filter(function (file) {
|
||||
return fs.statSync(path + '/' + file).isDirectory();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* lister 3 sous niveaux de dossiers
|
||||
* @param folders
|
||||
*/
|
||||
function recursiveListing(folders){
|
||||
|
||||
for (let dossier of folders) {
|
||||
|
||||
dossier = dossier.trim()
|
||||
console.log(folder_photo + '/' + dossier)
|
||||
let subdir1 = folder_photo + '/' + dossier
|
||||
let listing = getDirectories(subdir1)
|
||||
if (listing.length) {
|
||||
// console.log('', listing)
|
||||
for (let d2 of listing) {
|
||||
let subdir2 = folder_photo + '/' + dossier+'/'+d2
|
||||
console.log(subdir2)
|
||||
let listing2 = getDirectories(subdir1)
|
||||
if (listing2.length) {
|
||||
for (let d3 of listing2) {
|
||||
let subdir3 = subdir2 +'/'+d3
|
||||
console.log(subdir3)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* faire un premier passage sur la racine du dossier de photos
|
||||
* @type {*}
|
||||
*/
|
||||
getDirectories(folder_photo)
|
||||
|
||||
recursiveListing(getDirectories(folder_photo))
|
24
folder-listing-node/package-lock.json
generated
Normal file
24
folder-listing-node/package-lock.json
generated
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "folder-listing-node",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"fs": "^0.0.1-security"
|
||||
}
|
||||
},
|
||||
"node_modules/fs": {
|
||||
"version": "0.0.1-security",
|
||||
"resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
|
||||
"integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w=="
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"fs": {
|
||||
"version": "0.0.1-security",
|
||||
"resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
|
||||
"integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w=="
|
||||
}
|
||||
}
|
||||
}
|
5
folder-listing-node/package.json
Normal file
5
folder-listing-node/package.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"fs": "^0.0.1-security"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user