• R/O
  • HTTP
  • SSH
  • HTTPS

zephyr: Commit

This repository is for zephyr, which is implemented for a GUI of Eos.


Commit MetaInfo

Revision6b2b2b88511733893d2c6e7848c389abfcd53ba6 (tree)
Time2017-02-13 18:06:49
Author平田健悟 <hiratakengo@hira...>
Commiter平田健悟

Log Message

modified work space

Change Summary

Incremental Difference

--- a/server/api/commandExecution/index.js
+++ b/server/api/commandExecution/index.js
@@ -11,7 +11,6 @@ router.post('/', function(req, res) {
1111 inputPath = path.normalize('workspace/'+params.inputDir),
1212 outputPath = path.normalize('workspace/'+params.outputDir),
1313 options = params.options
14- dddddd
1514 var execLine = '/Users/hiratakengo/Eos/bin/X86MAC64/'+command
1615 console.log(execLine)
1716 if(options) {
--- a/server/api/v1/execution/index.js
+++ b/server/api/v1/execution/index.js
@@ -1,6 +1,7 @@
11 'use strict';
22
33 var express = require('express');
4+var fs = require('fs')
45 var router = express.Router()
56 var path = require('path')
67 var formidable = require('formidable')
@@ -13,7 +14,7 @@ router.post('/', function(req, res) {
1314 ws.emit();
1415
1516 var form = new formidable.IncomingForm();
16- var root;
17+ var root;
1718 var result;
1819
1920 var command;
@@ -48,10 +49,42 @@ router.post('/', function(req, res) {
4849 .then(function(r) {
4950 var optionsArray = r[1];
5051 return eos.execute(command, optionsArray);
51- }).then(function(r) {
52+ })
53+ .then(function(r) {
5254 var info = {
5355 status: 'success',
5456 };
57+
58+ console.log('start readdir');
59+ fs.readdir(root, function(err, list) {
60+ console.log('in readdir');
61+ if(err) {
62+ console.log('in err');
63+ console.error(err);
64+ process.exit(1);
65+ } else {
66+ console.log(list.length.tostring);
67+ for (var i = 0; i< list.length; i++) {
68+ console.log(list[i]);
69+ db.createFile(list[i], '/');
70+ }
71+ }
72+ });
73+
74+ console.log('end readdir');
75+ db.createFile('test.out','/');
76+ //var id = db.getDirectory('/');
77+ //console.log(db.getDirectoryId('/').tostring);
78+ /*
79+ for( var name in db.getFiles(id)) {
80+ consoiel.log(name);
81+ if(db.notExistFile(name, '/')) {
82+ console.log(name);
83+ db.createFile(name, '/');
84+ }
85+ }
86+ */
87+
5588 res.send(r);
5689 });
5790 });
--- a/server/app.js
+++ b/server/app.js
@@ -17,9 +17,10 @@ require('./routes')(app);
1717 // DBのコンストラクタを実行
1818 var DB = require('./class/DB').instance;
1919 DB.init()
20+/*
2021 .then(function() {
2122 return DB.test2();
22-})
23+})*/
2324 .then(function() {
2425 if(process.env.NODE_ENV === 'debug') {
2526 return DB.testRest();
--- a/server/class/DB.js
+++ b/server/class/DB.js
@@ -48,7 +48,7 @@ var instance = {
4848 * @returns {promise}
4949 */
5050
51-/**
51+/**
5252 * productionモード時は、db.workspaceを永続化させる
5353 * DEBUGモードの時は、db.debugを実行毎に作成する。
5454 * DEBUGモードの時は、sync()の中で、/レコードがFilesテーブルに追加される。
@@ -152,7 +152,7 @@ function insertRoot() {
152152
153153 /**
154154 * getDirectoryParentId
155- * ディレクトリのparentIdを取得する
155+ * ディレクトリのparentIdを取得する
156156 * @param name
157157 * @returns {promise} ディレクトリが存在すればresolve(uuid), しなければreject
158158 */
@@ -179,7 +179,7 @@ function getDirectoryParentId(name) {
179179
180180 /**
181181 * getDirectoryId
182- * ディレクトリのfileIdを取得する
182+ * ディレクトリのfileIdを取得する
183183 * @param name
184184 * @returns {promise} ディレクトリが存在すればresolve(uuid), しなければreject
185185 */
@@ -206,7 +206,7 @@ function getDirectoryId(name) {
206206
207207 /**
208208 * getDirectory
209- * ディレクトリのfileIdを取得する
209+ * ディレクトリのfileIdを取得する
210210 * @param name
211211 * @returns {promise} ディレクトリが存在すればresolve(name), しなければreject
212212 */
@@ -233,8 +233,8 @@ function getDirectory(name) {
233233
234234 /**
235235 * getFiles
236- * ディレクトリのfileId一覧を取得する
237- * @param {string} fileId ディレクトリのfileId
236+ * ディレクトリのfileId一覧を取得する
237+ * @param {string} fileId ディレクトリのfileId
238238 * @returns {promise} resolve([Array]<string>fileId) 引数で与えられたディレクトリを直接の親に持つファイルのレコードの配列を返す。
239239 * 与えられたfileIdがディレクトリでなければresolve
240240 */
@@ -261,8 +261,8 @@ function getFiles(fileId) {
261261
262262 /**
263263 * getDirectories
264- * ディレクトリの一覧を取得する
265- * @returns {promise} resolve([Array]<Object>)
264+ * ディレクトリの一覧を取得する
265+ * @returns {promise} resolve([Array]<Object>)
266266 */
267267 function getDirectories() {
268268 return new Promise(function(resolve, reject) {
@@ -273,8 +273,8 @@ function getDirectories() {
273273 };
274274 Files.findAll(q)
275275 .then(function(r) {
276- var dirs = r.map(function(data) {
277- return data.dataValues;
276+ var dirs = r.map(function(data) {
277+ return data.dataValues;
278278 });
279279 resolve(dirs);
280280 });
@@ -358,7 +358,7 @@ function existDirectory(directory) {
358358 reject(new Error('parameter "directory" is undefined'));
359359 }
360360
361- var arrayDirectory;
361+ var arrayDirectory;
362362 var root = directory.substr(0,1);
363363
364364 if(root !== '/') {
@@ -407,9 +407,9 @@ function notExistDirectory(directory) {
407407 return new Promise(function(resolve, reject) {
408408 if(!directory) {
409409 resolve();
410- }
410+ }
411411
412- var arrayDirectory;
412+ var arrayDirectory;
413413 var root = directory.substr(0,1);
414414
415415 if(root !== '/') {
@@ -450,7 +450,7 @@ function notExistDirectory(directory) {
450450 /**
451451 * createFile
452452 *
453- * @param fileName
453+ * @param fileName
454454 * @param parentDirectory
455455 * @returns {promise}<sequelize.createの結果を格納したobject | Error>
456456 */
@@ -469,8 +469,9 @@ function createFile(fileName,parentDirectory) {
469469 fileId: uuid.v1(),
470470 name: fileName,
471471 parentId: parentId,
472- fileType: 1
472+ fileType: 1
473473 }
474+ //fs.linkSync(q.filename, q.fileID);
474475 return Files.create(q)
475476 })
476477 .then(function(r) {
@@ -534,7 +535,7 @@ function createDirectory(directory) {
534535 fileId: uuid.v1(),
535536 name: leaf,
536537 parentId: parentId,
537- fileType: 0
538+ fileType: 0
538539 }
539540 return Files.create(q)
540541 })
@@ -568,7 +569,7 @@ function removeDirectory(directory) {
568569 fileId: uuid.v1(),
569570 name: leaf,
570571 parentId: parentId,
571- fileType: 0
572+ fileType: 0
572573 }
573574 return Files.create(q)
574575 })
@@ -588,7 +589,7 @@ function test1() {
588589 fileId: uuid.v1(),
589590 name: 'hoge.txt',
590591 parentId: '1f83f620-c1ed-11e5-9657-7942989daa00', // rootのuuid
591- fileType: 1
592+ fileType: 1
592593 };
593594 return Files.create(q);
594595 }
@@ -612,7 +613,7 @@ function test2() {
612613 fileId: '1f83f620-c1ed-11e5-9657-7942989daa01',
613614 name: 'two',
614615 parentId: q1.fileId,
615- fileType: 0
616+ fileType: 0
616617
617618 };
618619 return Files.create(q2);
@@ -622,7 +623,7 @@ function test2() {
622623 fileId: '1f83f620-c1ed-11e5-9657-7942989daa02',
623624 name: 'two',
624625 parentId: '1f83f620-c1ed-11e5-9657-7942989daa00', //rootのuuid
625- fileType: 0
626+ fileType: 0
626627 };
627628 return Files.create(q3);
628629 })
--- a/server/class/Eos.js
+++ b/server/class/Eos.js
@@ -1,7 +1,7 @@
1-/** * * Class variables */
2-// include all Eos command's info.
3-// For seaching with O(n), the object key name is command name.
4-var db = require('./DB.js').instance;
1+/** * * Class variables */
2+// include all Eos command's info.
3+// For seaching with O(n), the object key name is command name.
4+var db = require('./DB.js').instance;
55 var commandList = require(__dirname + '/../../user-specific-files/OptionControlFile/command_list.json');
66 var ocfReference = {};
77
@@ -26,7 +26,7 @@ function matchOption(options, ocf) {
2626 return new Promise(function(resolve, reject) {
2727 var ok = {};
2828 var notIncludingRequiredOptions = [];
29- options.forEach(function(o) {
29+ options.forEach(function(o) {
3030 ok[o.name] = o.arguments;
3131 });
3232 ocf.forEach(function(o) {
@@ -35,7 +35,7 @@ function matchOption(options, ocf) {
3535 }
3636 });
3737
38- // check whether all required option exist
38+ // check whether all required option exist
3939 if(notIncludingRequiredOptions.length > 0) {
4040 var errorMsg = 'Option ' + notIncludingRequiredOptions.toString() + ' are required';
4141 reject(new Error(errorMsg));
@@ -103,7 +103,7 @@ function validOutfileName(options, ocfObj, workspace) {
103103 }
104104
105105 /**
106- * validate
106+ * validate
107107 * コマンドとオプションのバリデーション
108108 * @param command
109109 * @param params
@@ -235,7 +235,7 @@ function toExecString(command, options, workspaceId) {
235235 /**
236236 * toExecArray
237237 *
238- * @param {fileId}
238+ * @param {fileId}
239239 * @returns {string}
240240 */
241241 function toExecArray(command, options, workspaceId) {
@@ -269,7 +269,8 @@ function toExecArray(command, options, workspaceId) {
269269 var outRegExp = /out|append/;
270270 o.arguments.forEach(function(arg, i) {
271271 if(ocfObj[o.name].arg[i].formType === 'select') {
272- s.push(uuids[arg]);
272+ //s.push(uuids[arg]);
273+ s.push(arg);
273274 } else {
274275 s.push(arg);
275276 }
@@ -297,13 +298,13 @@ function toExecArray(command, options, workspaceId) {
297298 */
298299 function execute(command, optionsArray) {
299300 return new Promise(function(resolve, reject) {
300- var workspace;
301+ var workspace;
301302 if(process.env.NODE_ENV === 'debug') {
302303 workspace = __dirname + '/../../user-specific-files/workspace.debug';
303304 } else {
304305 workspace = _dirname + '/../../user-specific-files/workspace';
305306 }
306-
307+
307308 var config = {
308309 cwd: workspace
309310 };
@@ -350,7 +351,7 @@ function getFiles(fileId) {
350351
351352 /**
352353 * getUUID
353- * @param fileId
354+ * @param fileId
354355 * @returns {object} key: filename, value: uuid
355356 */
356357 function getUUIDs(fileId) {
@@ -367,7 +368,7 @@ function getUUIDs(fileId) {
367368 }
368369
369370 /**
370- * Eosコマンドをエミュレートするクラス
371+ * Eosコマンドをエミュレートするクラス
371372 * @varructor
372373 * @returns {object}
373374 * function execute(command, params) {
--- a/test/mocha/Eos.test.js
+++ b/test/mocha/Eos.test.js
@@ -20,7 +20,7 @@
2020 */
2121 `;
2222
23-
23+
2424 describe('Eos クラス', function() {
2525 before(function() {
2626 });
@@ -78,7 +78,7 @@
7878
7979 var test2 = `
8080 /**
81- * 実行時文字列への変換
81+ * 実行時文字列への変換
8282 *
8383 * @param command
8484 * @param options
@@ -90,13 +90,13 @@
9090 describe(test2, function() {
9191 it('should return true when all options is proper.', function() {
9292 var result = eos.toExecString('dcdFilePrint', [{name: '-r', arguments: [1,2,3]}, { name: '-i', arguments: ['file1.txt']}, { name: '-o', arguments: ['file3.txt']} ], "1f83f620-c1ed-11e5-9657-7942989daa00");
93- expect(result).to.equal('dcdFilePrint -r 1 2 3 -s 10 -e 100 -d 10 -m 0 -i /Users/Takafumi/zephyr/server/class/../../user-specific-files/workspace/file1.txt -o /Users/Takafumi/zephyr/server/class/../../user-specific-files/workspace/file3.txt');
93+ expect(result).to.equal('dcdFilePrint -r 1 2 3 -s 10 -e 100 -d 10 -m 0 -i /Users/hiratakengo/zephyr/server/class/../../user-specific-files/workspace/file1.txt -o /Users/hiratakengo/zephyr/server/class/../../user-specific-files/workspace/file3.txt');
9494 });
9595 });
9696
9797 var toExecArray = `
9898 /**
99- * 実行時配列への変換
99+ * 実行時配列への変換
100100 *
101101 * @param command
102102 * @returns {string}
@@ -121,7 +121,7 @@
121121 });
122122
123123 });
124-
124+
125125 describe('execute', function() {
126126 before(function() {
127127 process.env.NODE_ENV = '';
@@ -175,7 +175,7 @@
175175 var getUUIDs = `
176176 /**
177177 * function getUUIDs(fileId)
178- * uuidとファイル名のkey-valueを取得
178+ * uuidとファイル名のkey-valueを取得
179179 *
180180 * @param fileId
181181 * @returns {object} key: filename, value: uuid
Show on old repository browser