CinemaPress/optimal.js

233 lines
7.7 KiB
JavaScript

const fs = require('fs');
const os = require('os');
const path = require('path');
let config_file = path.join(__dirname, 'config', 'production', 'config.js');
let modules_file = path.join(__dirname, 'config', 'production', 'modules.js');
let process_file = path.join(__dirname, 'process.json');
let config = require(config_file);
let modules = require(modules_file);
let process_json = require(process_file);
var d = new Date();
d.setDate(d.getDate() - 31);
config.index.year.keys = d.getFullYear() + '';
config.index.year.sorting = 'premiere-up';
config.index.year.order = 9;
config.index.count.type = 'year';
config.index.count.key = d.getFullYear() + '';
config.index.count.sorting = 'premiere-up';
let theme =
process && process.argv && process.argv[2] ? process.argv[2] : config.theme;
if (['arya'].indexOf(theme) + 1) {
config.default.count = 12;
config.index.year.count = 12;
modules.content.data.index.count = 12;
modules.episode.data.index.count = 12;
modules.related.data.types.year.count = 6;
modules.content.data.news.count = 3;
modules.comments.data.fast.recent.display = ['index'];
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#14181c'
);
modules.slider.data.movies = modules.slider.data.movies.slice(0, 6);
}
if (['bran'].indexOf(theme) + 1) {
modules.comments.data.hypercomments.recent.display = [];
modules.comments.data.fast.recent.display = [];
modules.comments.data.disqus.recent.display = [];
modules.comments.data.fast.recent.num_items = 0;
modules.comments.data.fast.recent.display = ['index'];
modules.comments.data.disqus.recent.num_items = 0;
modules.comments.data.hypercomments.recent.num_items = 0;
config.default.count = 12;
config.index.year.count = 12;
modules.content.data.index.count = 12;
modules.episode.data.index.count = 12;
modules.related.data.types.year.count = 6;
modules.content.data.news.count = 3;
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#101010'
);
}
if (['cersei'].indexOf(theme) + 1) {
config.default.count = 15;
config.index.year.count = 10;
modules.content.data.index.count = 10;
modules.episode.data.index.count = 20;
modules.related.data.types.year.count = 5;
modules.comments.data.fast.recent.display = ['index'];
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#393939'
);
}
if (['robb', 'sansa', 'tyrion'].indexOf(theme) + 1) {
config.default.count = 10;
config.index.year.count = 10;
modules.content.data.index.count = 10;
modules.episode.data.index.count = 12;
modules.related.data.types.year.count = 5;
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#7e8594'
);
}
if (['joffrey'].indexOf(theme) + 1) {
modules.related.data.types.year.count = 7;
modules.comments.data.fast.recent.display = ['index'];
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#5e81a8'
);
modules.slider.data.movies = modules.slider.data.movies.slice(0, 10);
}
if (['hodor'].indexOf(theme) + 1) {
modules.comments.data.hypercomments.recent.display = [];
modules.comments.data.fast.recent.display = [];
modules.comments.data.disqus.recent.display = [];
modules.comments.data.fast.recent.num_items = 0;
modules.comments.data.disqus.recent.num_items = 0;
modules.comments.data.hypercomments.recent.num_items = 0;
config.default.count = 10;
config.index.year.count = 10;
modules.content.data.index.count = 10;
modules.episode.data.index.count = 25;
modules.related.data.types.year.count = 5;
modules.content.data.news.count = 3;
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#1f2123'
);
modules.slider.data.movies = modules.slider.data.movies.slice(0, 3);
}
if (['daenerys'].indexOf(theme) + 1) {
config.default.count = 12;
config.index.year.count = 12;
modules.content.data.index.count = 12;
modules.episode.data.index.count = 24;
modules.related.data.types.year.count = 5;
modules.content.data.news.count = 3;
modules.comments.data.fast.recent.display = ['index'];
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#282350'
);
modules.slider.data.movies = modules.slider.data.movies.slice(0, 3);
}
if (['tarly'].indexOf(theme) + 1) {
config.default.count = 12;
config.index.year.count = 12;
modules.content.data.index.count = 12;
modules.episode.data.index.count = 5;
modules.related.data.types.year.count = 12;
modules.top.data.count = 5;
modules.comments.data.fast.recent.num_items = 5;
modules.comments.data.disqus.recent.num_items = 0;
modules.comments.data.hypercomments.recent.num_items = 0;
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#333333'
);
modules.slider.data.movies = modules.slider.data.movies.slice(0, 3);
}
if (['mormont'].indexOf(theme) + 1) {
config.default.count = 12;
config.index.year.count = 12;
modules.content.data.index.count = 12;
modules.episode.data.index.count = 16;
modules.related.data.types.year.count = 12;
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#262626'
);
}
if (['ramsay'].indexOf(theme) + 1) {
modules.episode.data.index.count = 24;
modules.comments.data.fast.recent.display = ['index'];
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#333333'
);
}
if (['dustin'].indexOf(theme) + 1) {
config.default.count = 12;
config.index.year.count = 12;
modules.content.data.index.count = 12;
modules.episode.data.index.count = 24;
modules.related.data.types.year.count = 4;
modules.viewed.data.width = '90px';
modules.viewed.data.height = '120px';
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#44475a'
);
}
if (['tormund'].indexOf(theme) + 1) {
config.default.count = 12;
config.index.year.count = 12;
modules.content.data.index.count = 12;
modules.episode.data.index.count = 32;
modules.related.data.types.year.count = 10;
modules.content.data.news.count = 4;
modules.comments.data.fast.recent.display = ['index'];
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#111216'
);
modules.slider.data.movies = modules.slider.data.movies.slice(0, 6);
}
if (['snow'].indexOf(theme) + 1) {
config.default.count = 20;
config.index.year.count = 20;
modules.content.data.index.count = 20;
modules.episode.data.index.count = 12;
modules.related.data.types.year.count = 10;
modules.content.data.news.count = 2;
modules.comments.data.fast.recent.display = [];
modules.player.data.script = modules.player.data.script.replace(
/#[a-z0-9]{6}/i,
'#21202a'
);
modules.slider.data.movies = modules.slider.data.movies.slice(0, 5);
modules.soon.data.count = 5;
modules.viewed.data.count = 18;
}
let mem = parseInt('' + os.totalmem() / 1000000);
let cpu = os.cpus() ? os.cpus().length : 1;
let max = parseInt('' + mem / (cpu > 1 ? cpu : 2));
//process_json.apps[0].node_args = '--max-old-space-size=' + max;
//process_json.apps[0].max_memory_restart = max + 'M';
//process_json.apps[0].instances = cpu + '';
fs.writeFileSync(
config_file,
'module.exports = ' + JSON.stringify(config, null, '\t') + ';'
);
fs.writeFileSync(
modules_file,
'module.exports = ' + JSON.stringify(modules, null, '\t') + ';'
);
fs.writeFileSync(process_file, JSON.stringify(process_json, null, '\t'));