Skip to content

Commit 60af802

Browse files
committed
Merge branch 'promise'
Conflicts: config.js lib/recognize/google.js
2 parents bfc4ce3 + 8199eed commit 60af802

28 files changed

+736
-406
lines changed

app.js

Lines changed: 0 additions & 12 deletions
This file was deleted.

example/app.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
var config = require('./config');
3+
var Voicer = require('../index');
4+
5+
var voicer = new Voicer(config);
6+
voicer.start();
Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module.exports = {
22
port: 3000,
33
debug: true,
4-
record: {
4+
record: {
55
directory: '/tmp',
66
type: 'wav',
77
duration: 2,
@@ -10,14 +10,25 @@ module.exports = {
1010
directory: '/tmp',
1111
type: 'google', // ['yandex', 'google']
1212
options: {
13-
//developer_key: ''
14-
developer_key: ''
13+
developer_key: 'AIzaSyDlK5-IadfJtgrfJsi5mdOF-9kzTS_tqh0'
1514
}
1615
},
1716
lookup: {
1817
type: 'file', // ['file', 'mongodb', 'mysql']
1918
options: {
2019
dataFile: 'data/peernames.json'
2120
}
21+
},
22+
logger: {
23+
console: {
24+
colorize: true
25+
},
26+
syslog: {
27+
host: 'localhost'
28+
},
29+
file: {
30+
filename: '/var/log/voicer.log',
31+
json: false
32+
}
2233
}
23-
};
34+
};

data/peernames.json renamed to example/data/peernames.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[{
2-
"name": "Дмитриев",
2+
"name": "лопата",
33
"channel": "SIP/1234"
44
},
55
{

index.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
var dingDong = require('ding-dong');
3+
4+
var Handler = require('./lib/handler');
5+
var Logger = require('./lib/logger');
6+
7+
var SourceFactory = require('./lib/source/sourceFactory');
8+
var RecognizerFactory = require('./lib/recognize/recognizerFactory');
9+
10+
var Server = function (config) {
11+
12+
this.start = function () {
13+
14+
var source = (new SourceFactory(config['lookup'])).make();
15+
var recognizer = (new RecognizerFactory(config['recognize'])).make();
16+
17+
var handler = new Handler(source, recognizer, config);
18+
19+
if (config['logger']) {
20+
var logger = new Logger(config['logger']);
21+
handler.setLogger(logger);
22+
}
23+
24+
dingDong
25+
.createServer(handler.handle)
26+
.listen(config['port']);
27+
28+
if (logger) {
29+
logger.info('server started');
30+
}
31+
};
32+
};
33+
34+
module.exports = Server;

lib/contextWrapper.js

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
'use strict';
2+
3+
var Q = require('q');
4+
5+
var ContextWrapper = function (context) {
6+
this.on = function (eventName) {
7+
var defer = Q.defer();
8+
context.on(eventName, function (result) {
9+
defer.resolve(result);
10+
});
11+
return defer.promise;
12+
};
13+
14+
this.answer = function () {
15+
var defer = Q.defer();
16+
context.answer(function (err) {
17+
if (err) {
18+
defer.reject(err);
19+
} else {
20+
defer.resolve();
21+
}
22+
});
23+
return defer.promise;
24+
};
25+
26+
this.streamFile = function (filename, acceptDigits) {
27+
var defer = Q.defer();
28+
context.streamFile(filename, acceptDigits, function (err) {
29+
if (err) {
30+
defer.reject(err);
31+
} else {
32+
defer.resolve();
33+
}
34+
});
35+
return defer.promise;
36+
};
37+
38+
this.recordFile = function (filename, format, escape_digits, timeout) {
39+
var defer = Q.defer();
40+
context.recordFile(filename, format, escape_digits, timeout, function (err) {
41+
if (err) {
42+
defer.reject(err);
43+
} else {
44+
defer.resolve();
45+
}
46+
});
47+
return defer.promise;
48+
};
49+
50+
this.setVariable = function (varName, value) {
51+
var defer = Q.defer();
52+
context.setVariable(varName, value, function (err) {
53+
if (err) {
54+
defer.reject(err);
55+
} else {
56+
defer.resolve();
57+
}
58+
});
59+
return defer.promise;
60+
};
61+
62+
this.dial = function (channel, timeout, params) {
63+
var defer = Q.defer();
64+
context.dial(channel, timeout, params, function (err) {
65+
if (err) {
66+
defer.reject(err);
67+
} else {
68+
defer.resolve();
69+
}
70+
});
71+
return defer.promise;
72+
};
73+
74+
this.end = function () {
75+
var defer = Q.defer();
76+
context.end(function () {
77+
defer.resolve();
78+
});
79+
return defer.promise;
80+
};
81+
};
82+
83+
module.exports = ContextWrapper;

lib/finder.js

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)