Skip to content

Commit 1005e62

Browse files
Create Episode 4.gs
1 parent ed44713 commit 1005e62

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed

Episode 4.gs

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
function documentInterview() {
2+
const threads = GmailApp.getChatThreads();
3+
let transcript = '';
4+
for (let thread of threads) {
5+
let messages = thread.getMessages().filter(message => message.getFrom() != 'David Weiss <[email protected]>');
6+
let candidate = messages[0].getFrom();
7+
let interviewDate = thread.getLastMessageDate().toLocaleDateString();
8+
9+
for (let message of messages) {
10+
transcript += `${message.getBody()} `;
11+
}
12+
13+
let blob = Utilities.newBlob(
14+
transcript,
15+
MimeType.PLAIN_TEXT,
16+
`Interview_Transcript_For_Candidate_${candidate}.txt`
17+
);
18+
19+
let interviewTranscriptsFolder = DriveApp.getFoldersByName('HR').next().getFoldersByName('Interview Transcripts').next();
20+
21+
if(interviewTranscriptsFolder.getFoldersByName(interviewDate).hasNext()) {
22+
interviewTranscriptsFolder.getFoldersByName(interviewDate).next().createFile(Utilities.gzip(blob,`Interview_Transcript_For_Candidate_${candidate}.gz`));
23+
} else {
24+
interviewTranscriptsFolder.createFolder(interviewDate).createFile(Utilities.gzip(blob,`Interview_Transcript_For_Candidate_${candidate}.gz`));
25+
}
26+
27+
transcript = '';
28+
// thread.moveToTrash();
29+
}
30+
}
31+
32+
function processSentiment() {
33+
34+
// Please use format "m/d/yyyy"
35+
let interviewDate = '1/27/2021';
36+
37+
let files = DriveApp.getFoldersByName('HR').next().getFoldersByName('Interview Transcripts').next().getFoldersByName(interviewDate).next().getFiles();
38+
let results = [];
39+
40+
while (files.hasNext()) {
41+
let file = Utilities.ungzip(files.next());
42+
let file_name = file.getName();
43+
let transcript = file.getDataAsString();
44+
45+
const data = {
46+
"document": {
47+
"type": 'PLAIN_TEXT',
48+
"language": 'en',
49+
"content": transcript,
50+
},
51+
"encodingType": 'UTF8',
52+
}
53+
54+
const params = {
55+
'method' : 'post',
56+
'headers': {
57+
"Content-Type": "application/json"
58+
},
59+
'payload' : JSON.stringify(data),
60+
};
61+
let fetch = UrlFetchApp.fetch(`https://language.googleapis.com/v1beta2/documents:analyzeSentiment?key=AIzaSyCW5rSqtyZZISreUe-AWvh9YIEA7HntcYM`, params);
62+
// Logger.log(fetch.getContentText());
63+
64+
results.push(Utilities.newBlob(fetch.getContentText(), MimeType.JSON, `RESULTS: ${file_name}`));
65+
}
66+
67+
DriveApp.getFoldersByName('HR').next().getFoldersByName('Sentiment Analysis Results').next().createFile(Utilities.zip(results, interviewDate));
68+
}
69+
70+
function logSentiments() {
71+
72+
// Please use format "m/d/yyyy"
73+
let interviewDate = '1/27/2021';
74+
75+
const zipfile = DriveApp.getFoldersByName('HR').next().getFoldersByName('Sentiment Analysis Results').next().getFilesByName(interviewDate);
76+
77+
let files = Utilities.unzip(zipfile.next());
78+
for (let file of files) {
79+
Logger.log(file.getDataAsString());
80+
}
81+
}
82+

0 commit comments

Comments
 (0)