Skip to content

Commit 231c4dd

Browse files
AlchemyLanguage - Sentiment Analysis - Add support for targets #155
1 parent 8ab502b commit 231c4dd

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

services/alchemy_language/v1.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
'use strict';
1818

1919
var extend = require('extend');
20+
var util = require('util');
2021
var requestFactory = require('../../lib/requestwrapper');
2122
var endpoints = require('../../lib/alchemy_endpoints.json');
2223
var helper = require('../../lib/helper');
@@ -93,8 +94,12 @@ AlchemyLanguage.prototype.concepts = createRequest('concepts');
9394
* Calculates the sentiment for text, a URL or HTML.
9495
*/
9596
AlchemyLanguage.prototype.sentiment = function(params, callback) {
96-
var service = (params && (params.target || params.targets )) ? 'sentiment_targeted' : 'sentiment';
97-
return createRequest(service).call(this, params, callback);
97+
var _params = extend({}, params);
98+
var service = (params.target || params.targets) ? 'sentiment_targeted' : 'sentiment';
99+
if (util.isArray(_params.targets))
100+
_params.targets = _params.targets.join('|');
101+
102+
return createRequest(service).call(this, _params, callback);
98103
};
99104
/**
100105
* Extracts the cleaned text (removes ads, navigation, etc.) for a URL or HTML.

test/test.integration-all-services.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,13 +450,20 @@ describe('integration-all-services', function() {
450450
}, failIfError.bind(failIfError, done));
451451
});
452452

453-
it('sentiment_multiple_targets()', function(done) {
453+
it('sentiment_multiple_targets_with_pipe()', function(done) {
454454
alchemy_language.sentiment({
455455
text: text,
456456
targets: 'United States|Peter Higgs'
457457
}, failIfError.bind(failIfError, done));
458458
});
459459

460+
it('sentiment_multiple_targets_with_array()', function(done) {
461+
alchemy_language.sentiment({
462+
text: text,
463+
targets: ['United States','Peter Higgs']
464+
}, failIfError.bind(failIfError, done));
465+
});
466+
460467
it('category()', function(done) {
461468
alchemy_language.category({
462469
text: text

0 commit comments

Comments
 (0)