Skip to content

Commit ba7cf6a

Browse files
committed
Add script to generate a file list
1 parent 1a6d971 commit ba7cf6a

File tree

1 file changed

+64
-0
lines changed
  • lib/node_modules/@stdlib/datasets/spam-assassin/scripts

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/*
2+
* Script to generate a file list.
3+
*/
4+
'use strict';
5+
6+
// MAIN //
7+
8+
var resolve = require( 'path' ).resolve;
9+
var writeFileSync = require( 'fs' ).writeFileSync;
10+
var readDirSync = require( '@stdlib/fs/read-dir' ).sync;
11+
12+
13+
// VARIABLES //
14+
15+
var RE_EXT = /\.txt$/;
16+
var dirs = [
17+
'easy-ham-1',
18+
'easy-ham-2',
19+
'hard-ham-1',
20+
'spam-1',
21+
'spam-2'
22+
];
23+
24+
25+
// MAIN //
26+
27+
/**
28+
* Main execution sequence.
29+
*
30+
* @private
31+
*/
32+
function main() {
33+
var files;
34+
var fpath;
35+
var dpath;
36+
var opts;
37+
var out;
38+
var i;
39+
var j;
40+
41+
out = [];
42+
for ( i = 0; i < dirs.length; i++ ) {
43+
dpath = resolve( __dirname, '..', 'data', dirs[ i ] );
44+
files = readDirSync( dpath );
45+
if ( files instanceof Error ) {
46+
throw files;
47+
}
48+
for ( j = 0; j < files.length; j++ ) {
49+
if (
50+
files[ j ][ 0 ] !== '.' &&
51+
RE_EXT.test( files[ j ] )
52+
) {
53+
out.push( dirs[ i ]+'/'+files[ j ] );
54+
}
55+
}
56+
}
57+
opts = {
58+
'encoding': 'utf8'
59+
};
60+
fpath = resolve( __dirname, '..', 'data', 'file_list.json' );
61+
writeFileSync( fpath, JSON.stringify( out, null, 2 ), opts );
62+
} // end FUNCTION main()
63+
64+
main();

0 commit comments

Comments
 (0)