Skip to content

Commit 45eee5b

Browse files
cp2bostonLi Xu
authored andcommitted
RCB-527 Topics endpoint (#64)
* RCB-527 Topics endpoint - Created new topics endpoint - Created new topics example - Created new topics unit test - Updated README - Updated Api * Removed .js from require * Reduce comparisons
1 parent 3023e69 commit 45eee5b

19 files changed

+178
-31
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ api.rosette(endpoint, function(err, res){
4949
## API Parameters
5050
| Parameter | Endpoint | Required
5151
| ------------- |------------- |-------------
52-
| content | categories, entities, language, morphology, relationships, sentences, sentiment, tokens, transliteration | Either content or contentUri required, transliteration requires content only |
53-
| contentUri | categories, entities, language, morphology, relationships, sentences, sentiment, tokens | Either content or contentUri required |
54-
| language | categories, entities, language, morphology, relationships, sentences, sentiment, tokens, name similarity | No |
55-
| documentFile | categories, entities, language, morphology, relationships, sentences, sentiment, tokens | No |
52+
| content | categories, entities, language, morphology, relationships, sentences, sentiment, tokens, topics, transliteration | Either content or contentUri required, transliteration requires content only |
53+
| contentUri | categories, entities, language, morphology, relationships, sentences, sentiment, tokens, topics | Either content or contentUri required |
54+
| language | categories, entities, language, morphology, relationships, sentences, sentiment, tokens, topics, name similarity | No |
55+
| documentFile | categories, entities, language, morphology, relationships, sentences, sentiment, tokens, topics | No |
5656
| name1 | name similarity | Yes |
5757
| name2 | name similarity| Yes |
5858
| name | name translation | Yes |

examples/topics.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"use strict";
2+
3+
var Api = require("../lib/Api");
4+
var ArgumentParser = require("argparse").ArgumentParser;
5+
6+
var parser = new ArgumentParser({
7+
addHelp: true,
8+
description: "Get the key phrases and concepts in a piece of text"
9+
});
10+
parser.addArgument(["--key"], {help: "Rosette API key", required: true});
11+
parser.addArgument(["--url"], {help: "Rosette API alt-url", required: false});
12+
var args = parser.parseArgs();
13+
var api = new Api(args.key, args.url);
14+
var endpoint = "topics";
15+
16+
var topics_data = "Lily Collins is in talks to join Nicholas Hoult in Chernin Entertainment and Fox Searchlight's J.R.R. Tolkien biopic Tolkien. Anthony Boyle, known for playing Scorpius Malfoy in the British play Harry Potter and the Cursed Child, also has signed on for the film centered on the famed author. In Tolkien, Hoult will play the author of the Hobbit and Lord of the Rings book series that were later adapted into two Hollywood trilogies from Peter Jackson. Dome Karukoski is directing the project."
17+
var content = topics_data;
18+
api.parameters.content = content;
19+
20+
api.rosette(endpoint, function(err, res){
21+
if(err){
22+
console.log(err);
23+
} else {
24+
console.log(JSON.stringify(res, null, 2));
25+
}
26+
});

lib/Api.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ var translatedName = require("./nameTranslation");
3737
var tokens = require("./tokens");
3838
var syntax_dependencies = require("./syntax_dependencies");
3939
var transliteration = require("./transliteration");
40+
var topics = require("./topics");
4041

4142
/**
4243
* @class

lib/categories.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ categories.prototype.getResults = function(parameters, userKey, protocol, servic
4343
} else {
4444

4545
// validate parameters
46-
if (parameters.loadParams().content == null && parameters.loadParams().contentUri == null) {
46+
if (!parameters.loadParams().content && !parameters.loadParams().contentUri) {
4747
return callback(new RosetteException("badArgument", "Must supply one of content or contentUri", "bad arguments"));
4848
} else if (parameters.loadParams().content != null && parameters.loadParams().contentUri != null) {
4949
return callback(new RosetteException("badArgument", "Cannot supply content and contentUri", "bad arguments"));

lib/entities.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ entities.prototype.getResults = function(parameters, userKey, protocol, serviceU
4343
} else {
4444

4545
// validate parameters
46-
if (parameters.loadParams().content == null && parameters.loadParams().contentUri == null) {
46+
if (!parameters.loadParams().content && !parameters.loadParams().contentUri) {
4747
return callback(new RosetteException("badArgument", "Must supply one of Content or ContentUri", "bad arguments"));
48-
} else if (parameters.loadParams().content != null && parameters.loadParams().contentUri != null) {
48+
} else if (parameters.loadParams().content && parameters.loadParams().contentUri) {
4949
return callback(new RosetteException("badArgument", "Cannot supply both Content and ContentUri", "bad arguments"));
5050
} else {
5151
// configure URL

lib/language.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ language.prototype.getResults = function(parameters, userKey, protocol, serviceU
4343
} else {
4444

4545
// validate parameters
46-
if (parameters.loadParams().content == null && parameters.loadParams().contentUri == null) {
46+
if (!parameters.loadParams().content && !parameters.loadParams().contentUri) {
4747
return callback(new RosetteException("badArgument", "Must supply one of Content or ContentUri", "bad arguments"));
48-
} else if (parameters.loadParams().content != null && parameters.loadParams().contentUri != null) {
48+
} else if (parameters.loadParams().content && parameters.loadParams().contentUri) {
4949
return callback(new RosetteException("badArgument", "Cannot supply both Content and ContentUri", "bad arguments"));
5050
} else {
5151
// configure URL

lib/morphology.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ morphology.prototype.getResults = function(parameters, userKey, protocol, servic
4343
} else {
4444

4545
// validate parameters
46-
if (parameters.loadParams().content == null && parameters.loadParams().contentUri == null) {
46+
if (!parameters.loadParams().content && !parameters.loadParams().contentUri) {
4747
return callback(new RosetteException("badArgument", "Must supply one of Content or ContentUri", "bad arguments"));
48-
} else if (parameters.loadParams().content != null && parameters.loadParams().contentUri != null) {
48+
} else if (parameters.loadParams().content && parameters.loadParams().contentUri) {
4949
return callback(new RosetteException("badArgument", "Cannot supply both Content and ContentUri", "bad arguments"));
50-
} else if (parameters.morphology == null) {
50+
} else if (!parameters.morphology) {
5151
return callback(new RosetteException("badArgument", "Must supply type of morphology", "bad arguments"));
5252
} else {
5353
// configure URL

lib/nameDeduplication.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ nameDeduplication.prototype.getResults = function(parameters, userKey, protocol,
4242
return callback(new RosetteException("badArgument", "nameDeduplication does not support documentFile"));
4343
} else {
4444
// validate parameters
45-
if (parameters.loadParams().names == null) {
45+
if (!parameters.loadParams().names) {
4646
return callback(new RosetteException("badArgument", "Must supply a list of names for deduplication"));
4747
} else {
4848
// configure URL

lib/nameSimilarity.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ nameSimilarity.prototype.getResults = function(parameters, userKey, protocol, se
4343
} else {
4444

4545
// validate parameters
46-
if (parameters.loadParams().name1 == null || parameters.loadParams().name2 == null) {
46+
if (!parameters.loadParams().name1 || !parameters.loadParams().name2) {
4747
return callback(new RosetteException("badArgument", "Must supply both name1 and name2 parameters to be matched."));
4848
} else {
4949
// configure URL

lib/nameTranslation.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ nameTranslation.prototype.getResults = function(parameters, userKey, protocol, s
4343
} else {
4444

4545
// validate parameters
46-
if (parameters.loadParams().name == null) {
46+
if (!parameters.loadParams().name) {
4747
return callback(new RosetteException("badArgument", "Must supply name parameter", "bad arguments"));
48-
} else if (parameters.loadParams().targetLanguage == null) {
48+
} else if (!parameters.loadParams().targetLanguage) {
4949
return callback(new RosetteException("badArgument", "Must supply target language parameter", "bad arguments"));
5050
} else {
5151
// configure URL

0 commit comments

Comments
 (0)