Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Node/Task1/demo0/demo1/demo20.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
demo20
1 change: 1 addition & 0 deletions Node/Task1/demo0/demo1/demo21.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
demo21
1 change: 1 addition & 0 deletions Node/Task1/demo0/demo10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
demo10
1 change: 1 addition & 0 deletions Node/Task1/demo0/demo11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
demo11
4 changes: 4 additions & 0 deletions Node/Task1/demo_new.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
demo0\demo1\demo20.md 2648df878bc2f2ef3075be7ec5807d2cecf82f42 1354aedfdc929da59fc6560c0cc72c7e
demo0\demo1\demo21.md e4bda9facae1b772a9475343a0767d1923ef8258 0eac74b953af3adb5b75b18f07540207
demo0\demo10.md 4dfe34951f2359a6e0cb487c905ab692834b457b 43514a20c7801ebd4b1e6769939dd95f
demo0\demo11.md 09e581c7eecc6c7e0a8e0212c83a75b784d6d113 cced040537f8b0eaba142cfcdad23760
37 changes: 37 additions & 0 deletions Node/Task1/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
const crypto = require('crypto')
const fs = require('fs')
const path = require('path')

function getSha1AndMD5(data) {
let sha = crypto.createHash('sha1').update(data.toString()).digest('hex');
let md5 = crypto.createHash('md5').update(data.toString()).digest('hex');
return sha + " " + md5;
}

dirPath = process.argv.slice(2);

if (fs.statSync(dirPath[0]).isFile()) {
getFileDetail(dirPath[0]);
} else {
readDir(dirPath[0]);

}

function readDir(pathName) {
let files = fs.readdirSync(pathName);
if (files.length != 0) {
files.forEach(function(file) {
filepath = path.join(pathName, file);
if (fs.statSync(filepath).isFile()) {
fs.appendFileSync("demo_new.md", filepath + " " + getFileDetail(filepath) + "\n");
} else {
readDir(filepath);
}
});
}
}

function getFileDetail(fileName) {
let response = fs.readFileSync(fileName).toString()
return getSha1AndMD5(response);
}
11 changes: 11 additions & 0 deletions Node/Task1/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"name": "task1",
"version": "1.0.0",
"description": "Task 1",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "MIT"
}