-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgetGender.js
84 lines (78 loc) · 2.25 KB
/
getGender.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
String.prototype.toProperCase = function () {
return this.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
};
/**
* Looks up a firstname's probable gender using the
* Genderize API.
*
* @param {string} fname A first name string (
* @return The gender
* @customfunction
*/
function getGender(fname) {
if (fname == '') {
Logger.log("Must provide a first name");
return;
}
try {
var resp = UrlFetchApp.fetch("https://api.genderize.io/?name=" + fname + "&country_id=US");
var ans = resp.getContentText();
var ansJson = JSON.parse(ans);
gender = ansJson["gender"]
//gender = gender.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
gender = gender.toProperCase();
} catch (err) {
// Logger.log("Result not found" + err.message);
return 'not found';
}
return gender;
};
/**
* Looks up a firstname's gender count that informs the
* Genderize API.
*
* @param {string} fname A first name string (
* @return The gender
* @customfunction
*/
function getGenderCount(fname) {
if (fname == '') {
return;
}
try {
var resp = UrlFetchApp.fetch("https://api.genderize.io/?name=" + fname + "&country_id=US");
var ans = resp.getContentText();
var ansJson = JSON.parse(ans);
var gender_count = ansJson["count"];
var output = "";
} catch (err) {
Logger.log("Result not found" + err.message);
return '';
}
return gender_count;
};
/**
* Looks up a firstname's probability that the reported gender is accurate from
* Genderize API.
*
* @param {string} fname A first name string (
* @return The gender
* @customfunction
*/
function getGenderProbability(fname) {
if (fname == '') {
Logger.log("Must provide a first name");
return;
}
try {
var resp = UrlFetchApp.fetch("https://api.genderize.io/?name=" + fname + "&country_id=US");
var ans = resp.getContentText();
var ansJson = JSON.parse(ans);
var gender_probability = ansJson["probability"];
var output = "";
} catch (err) {
Logger.log("Result not found" + err.message);
return '';
}
return gender_probability;
};