Skip to content

Commit

Permalink
Updated with latest Emoji data and Satyricon
Browse files Browse the repository at this point in the history
  • Loading branch information
jonobr1 committed Nov 20, 2018
1 parent 6a15681 commit add3056
Show file tree
Hide file tree
Showing 13 changed files with 50,719 additions and 4,332 deletions.
1,581 changes: 1,581 additions & 0 deletions assets/emoji-character-picker.txt

Large diffs are not rendered by default.

1,551 changes: 1,551 additions & 0 deletions assets/emoji-find-replace.txt

Large diffs are not rendered by default.

25,435 changes: 25,435 additions & 0 deletions assets/emoji-fuse-list.json

Large diffs are not rendered by default.

1,627 changes: 1,627 additions & 0 deletions assets/emoji-names.txt

Large diffs are not rendered by default.

1,594 changes: 1,594 additions & 0 deletions assets/satyricon.json

Large diffs are not rendered by default.

1,307 changes: 1,307 additions & 0 deletions assets/satyricon.txt

Large diffs are not rendered by default.

9,900 changes: 8,244 additions & 1,656 deletions assets/word-occurrence.json

Large diffs are not rendered by default.

1,351 changes: 1,351 additions & 0 deletions assets/word-translation-errors.json

Large diffs are not rendered by default.

10,571 changes: 7,905 additions & 2,666 deletions assets/word-translations.json

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions emoji-merge.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
var fs = require('fs');
var path = require('path');
var _ = require('underscore');

var files = setup([
'./assets/emoji-names.txt',
'./assets/emoji-find-replace.txt',
'./assets/emoji-character-picker.txt'
]);

var emojis = merge(files);
var formatted = format(emojis);

fs.writeFileSync(path.resolve(__dirname, './assets/emoji-fuse-list.json'), JSON.stringify(formatted), 'utf8');

console.log('Finished');

function format(emojis) {
var result = [];
for (var name in emojis) {
var keywords = emojis[name];
result.push({
emoji: name,
keywords: _.uniq(keywords.split(' | '))
});
}
console.log(result);
return result;
}

function merge(files) {

var amount = files[0].length;
var result = {};

for (var i = 0; i < files.length; i++) {

var list = files[i];

for (var j = 0; j < list.length; j++) {

var item = list[j];
var emoji = item[0];
var text = item[1];

if (emoji in result) {
result[emoji] += ' | ' + text;
} else {
result[emoji] = text;
}

}

}

return result;

}

function setup(files) {

var result = [];

for (var i = 0; i < files.length; i++) {

var filename = files[i];
var list = fs.readFileSync(path.resolve(__dirname, filename), {
encoding: 'utf-8'
});

console.log('Setup', filename);

list = massage(list);
result.push(list);

}

return result;

}

function massage(text) {

var result = text.split('\n');
for (var i = 0; i < result.length; i++) {
var line = result[i];
var index = line.indexOf(' ');
if (index >= 0) {
result[i] = [
line.slice(0, index + 1).replace(/\s/, ''),
line.slice(index).replace(/^\s/, '')
];
} else {
result[i] = [line];
}
}

return result;

}
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
},
"homepage": "https://github.com/jonobr1/cena-trimalchionis#readme",
"devDependencies": {
"@google-cloud/translate": "^2.1.2"
"@google-cloud/translate": "^2.1.2",
"moment": "^2.22.2",
"underscore": "^1.9.1"
}
}
26 changes: 19 additions & 7 deletions index.js → translate.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Imports the Google Cloud client library
var {Translate} = require('@google-cloud/translate');
var { Translate } = require('@google-cloud/translate');
var fs = require('fs');
var moment = require('moment');

// Your Google Cloud Platform project ID
var projectId = 'jono-fyi';
Expand All @@ -16,12 +17,15 @@ wordList = JSON.parse(wordList);
// // The text to translate
// var text = 'Hello, world!';
// // The target language
var target = 'en';
var options = { from: 'la', to: 'en' };
var result = {};
var errors = {};
var keys = Object.keys(wordList);
var total = keys.length;
var index = 0;

var startTime = Date.now();

transform(keys[index]);

function transform(word) {
Expand All @@ -30,11 +34,17 @@ function transform(word) {
next();
}
translate
.translate(word, target)
.translate(word, options)
.then(function(results) {
var translation = results[0];
result[word] = translation;
console.log(`Text: `, word, 'Translation:', translation, Math.floor(100 * index / total) + '%');
var translation = results[0].toLowerCase();
// Only add the word to the translation list if Google Translate
// found any kind of translation:
if (word === translation) {
errors[word] = true;
} else {
result[word] = translation;
console.log('Text:', word, 'Translation:', translation, Math.floor(100 * index / total) + '%');
}
next();
})
.catch(function(err) {
Expand All @@ -50,6 +60,8 @@ function next() {
console.log('Saving out file');
console.log(result);
fs.writeFileSync('./assets/word-translations.json', JSON.stringify(result), 'utf8');
console.log('Done');
fs.writeFileSync('./assets/word-translation-errors.json', JSON.stringify(errors), 'utf8');
console.log('Finished.', moment().format(), 'Transcode took', (Date.now() - startTime) / 1000, 'seconds.');
process.exit(1);
}
}
4 changes: 2 additions & 2 deletions word-occurrence.html
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,14 @@ <h3>
var result = {};
var keys;

xhr.get('./assets/cena-trimalchionis.json', function(resp) {
xhr.get('./assets/satyricon.json', function(resp) {

var json = JSON.parse(resp);

for (var i = 0; i < json.book.length; i++) {

var chapter = json.book[i];
var body = chapter.body;
var body = chapter.body.join('\n');

var words = body.split(/[\s]/);

Expand Down

0 comments on commit add3056

Please sign in to comment.