From 68c1b99fcda8fa5f0866f4e814b306de4ded75da Mon Sep 17 00:00:00 2001 From: lecture Date: Thu, 3 Nov 2016 14:35:56 +0100 Subject: [PATCH] week1 gr01-02 --- .gitignore | 26 +++++++++++++++ week1/person-gr01/.gitignore | 44 ++++++++++++++++++++++++ week1/person-gr01/README | 9 +++++ week1/person-gr01/package.json | 14 ++++++++ week1/person-gr01/person.js | 61 ++++++++++++++++++++++++++++++++++ week1/person-gr02/.gitignore | 44 ++++++++++++++++++++++++ week1/person-gr02/README | 9 +++++ week1/person-gr02/package.json | 14 ++++++++ week1/person-gr02/person.js | 60 +++++++++++++++++++++++++++++++++ 9 files changed, 281 insertions(+) create mode 100644 .gitignore create mode 100644 week1/person-gr01/.gitignore create mode 100644 week1/person-gr01/README create mode 100644 week1/person-gr01/package.json create mode 100644 week1/person-gr01/person.js create mode 100644 week1/person-gr02/.gitignore create mode 100644 week1/person-gr02/README create mode 100644 week1/person-gr02/package.json create mode 100644 week1/person-gr02/person.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f0f3fbc --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk diff --git a/week1/person-gr01/.gitignore b/week1/person-gr01/.gitignore new file mode 100644 index 0000000..bc7fc55 --- /dev/null +++ b/week1/person-gr01/.gitignore @@ -0,0 +1,44 @@ +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz diff --git a/week1/person-gr01/README b/week1/person-gr01/README new file mode 100644 index 0000000..e55f5bf --- /dev/null +++ b/week1/person-gr01/README @@ -0,0 +1,9 @@ + + Usage: person [options] + + Options: + + -h, --help output usage information + -V, --version output the version number + -n, --name [value] Name of the person to match + diff --git a/week1/person-gr01/package.json b/week1/person-gr01/package.json new file mode 100644 index 0000000..17d7593 --- /dev/null +++ b/week1/person-gr01/package.json @@ -0,0 +1,14 @@ +{ + "name": "person", + "version": "1.0.0", + "description": "find person from database", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "gauthier", + "license": "ISC", + "dependencies": { + "commander": "^2.9.0" + } +} diff --git a/week1/person-gr01/person.js b/week1/person-gr01/person.js new file mode 100644 index 0000000..5a5b4ce --- /dev/null +++ b/week1/person-gr01/person.js @@ -0,0 +1,61 @@ +/* + file: person.js + desc: simple script that matches incoming arguments (--name) + with a simple database + author: gauthier + date: 03/11/16 +*/ + + +// import 'commander' (https://www.npmjs.com/package/commander) +var program = require('commander'); + +// database of persons +var person1_name = "Maurice"; +var person1_age = 83; +var person1_lan = "french"; + +var person2_name = "Lotte"; +var person2_age = 32; +var person2_lan = "danish"; + +var person3_name = "Geert"; +var person3_age = 42; +var person3_lan = "dutch"; + +// initialise program (aka commander) +program + .version('0.0.1') + .option('-n, --name [value]', 'Name of the person to match', 'empty') // add option --name with default value "empty" + .parse(process.argv); + +// check what the value of name is regardless of if it matches or not +console.log(program.name); // this line can be commented out + +// match value of input's "name" argument +switch(program.name) +{ + case person1_name: + // input match person1 + console.log(person1_name); + console.log(person1_age); + console.log(person1_lan); + break; + case person2_name: + // input match person2 + console.log(person2_name); + console.log(person2_age); + console.log(person2_lan); + break; + case person3_name: + // input match person3 + console.log(person3_name); + console.log(person3_age); + console.log(person3_lan); + break; + default: + // default message if no match + console.log('No match...'); + break; +} + diff --git a/week1/person-gr02/.gitignore b/week1/person-gr02/.gitignore new file mode 100644 index 0000000..bc7fc55 --- /dev/null +++ b/week1/person-gr02/.gitignore @@ -0,0 +1,44 @@ +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz diff --git a/week1/person-gr02/README b/week1/person-gr02/README new file mode 100644 index 0000000..5c925a5 --- /dev/null +++ b/week1/person-gr02/README @@ -0,0 +1,9 @@ + + Usage: person [options] + + Options: + + -h, --help output usage information + -V, --version output the version number + -n, --name [string] Name of the person to match + diff --git a/week1/person-gr02/package.json b/week1/person-gr02/package.json new file mode 100644 index 0000000..d3513c8 --- /dev/null +++ b/week1/person-gr02/package.json @@ -0,0 +1,14 @@ +{ + "name": "person", + "version": "1.0.0", + "description": "select person from database", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "gauthier", + "license": "ISC", + "dependencies": { + "commander": "^2.9.0" + } +} diff --git a/week1/person-gr02/person.js b/week1/person-gr02/person.js new file mode 100644 index 0000000..10bc306 --- /dev/null +++ b/week1/person-gr02/person.js @@ -0,0 +1,60 @@ +/* + file: person.js + desc: simple script that matches incoming arguments (--name) + with a simple database + author: gauthier + date: 03/11/16 +*/ + +// import 'commander' (https://www.npmjs.com/package/commander) +var program = require('commander'); + +// database of persons +var person1_name = "James"; +var person1_age = 25; +var person1_lan = "english"; + +var person2_name = "Rita"; +var person2_age = 7; +var person2_lan = "danish"; + +var person3_name = "Geert"; +var person3_age = 51; +var person3_lan = "dutch"; + +// initialise program (aka commander) +program + .version('0.1') + .option('-n, --name [string]', 'Name of the person to match', 'empty') // add option --name with default value "empty" + .parse(process.argv); + +// check what the value of name is regardless of if it matches or not +console.log(program.name); // this line can be commented out + +// match value of input's "name" argument +switch(program.name) +{ + case person1_name: + // input match person1 + console.log(person1_name); // print name + console.log(person1_age); // print age + console.log(person1_lan); // print language + break; + case person2_name: + // input match person2 + console.log(person2_name); + console.log(person2_age); + console.log(person2_lan); + break; + case person3_name: + // input match person3 + console.log(person3_name); + console.log(person3_age); + console.log(person3_lan); + break; + default: + // default message if no match + console.log('...'); + break; +} +