diff --git a/cinemapress.sh b/cinemapress.sh index 9d02ba8..d9d4cc8 100644 --- a/cinemapress.sh +++ b/cinemapress.sh @@ -2891,7 +2891,7 @@ while [ "${WHILE}" -lt "2" ]; do sh_progress 100 exit 0 ;; - "l"|"ll"|"llp"|"log"|"logs"|"live"|"lb"|"lbt"|"lbf"|"lbb" ) + "l"|"ll"|"lp"|"lm"|"ls"|"llp"|"log"|"logs"|"live"|"lb"|"lbt"|"lbf"|"lbb" ) if [ "${1}" = "lb" ] || [ "${1}" = "lbt" ] || [ "${1}" = "lbf" ] || [ "${1}" = "lbb" ] || [ "${2}" = "bot" ] || [ "${2}" = "bots" ]; then RR='\o033[0;31m' GG='\o033[0;32m' @@ -2985,7 +2985,7 @@ while [ "${WHILE}" -lt "2" ]; do -n0 -f /home/*/log/out*.log exit 0 fi - if [ "${1}" = "llp" ]; then + if [ "${1}" = "llp" ] || [ "${1}" = "lp" ]; then _br tail \ -n0 -f /var/log/nginx/*.log \ @@ -2994,6 +2994,19 @@ while [ "${WHILE}" -lt "2" ]; do | grep -v ping exit 0 fi + if [ "${1}" = "lm" ]; then + _br + tail \ + -n0 -f /home/*/log/movies*.log + exit 0 + fi + if [ "${1}" = "ls" ]; then + _br + tail \ + -n0 -f /home/*/log/movies*.log \ + | grep -v REALTIME + exit 0 + fi _br "${2}" read_domain "${2}" sh_not diff --git a/lib/CP_movies.js b/lib/CP_movies.js index 7408335..d92ffd9 100644 --- a/lib/CP_movies.js +++ b/lib/CP_movies.js @@ -57,6 +57,9 @@ process.env['NO_CACHE'] = true; var run = process.argv && typeof process.argv[2] !== 'undefined'; var timeZone = new Date(); var hour = new Date(timeZone).getHours() + 1; +var fail_req = 2; +var prev_req = 0; +var some_req = 0; console.log( timeZone, @@ -121,7 +124,19 @@ if (Math.ceil(os.freemem()) < 50) { if (task.page.indexOf('[page]') === -1 && i > 1) { return next('STOP'); } - console.log(task.page.replace('[page]', i)); + if (fail_req <= 0) { + return next('STOP'); + } + if (some_req >= 5) { + return next('STOP'); + } + if (prev_req === ids.length) { + some_req++; + } else { + prev_req = 0; + } + prev_req = ids.length; + console.log('[REALTIME]', ids.length, task.page.replace('[page]', i)); axios(task.page.replace('[page]', i)) .then(function(r) { if (!r || !r.data) { @@ -141,27 +156,34 @@ if (Math.ceil(os.freemem()) < 50) { a.id !== 'null' && a.id !== 'false' && a.id !== 'n/a' && - a.id !== 'N/A' + a.id !== 'N/A' && + ids.indexOf(a.id) === -1 ) { ids.push(a.id); } }); - console.log('IDs:', ids.length); return next(); } else { - console.error('STOP PAGE:', i); - return next('STOP'); + console.error('[REALTIME]', 'STOP PAGE (' + fail_req + ')', i); + fail_req = fail_req - 1; + return next(); } }) .catch(function(err) { - console.error('STOP PAGE:', i, err); - return next('STOP'); + console.error( + '[REALTIME]', + 'STOP PAGE (' + fail_req + ')', + i, + err + ); + fail_req = fail_req - 1; + return next(); }); }, function() { async.eachOfLimit( ids, - 1, + 5, function(id, id_index, callback) { if (!/\[[a-z0-9_]+?]/i.test(task.id + '') && id_index >= 1) { return callback(); @@ -187,6 +209,8 @@ if (Math.ceil(os.freemem()) < 50) { .replace(/\s*=\s*/g, '=') .split('=') : []; + var eval_parse = parse[4] || ''; + var set_data = ''; var listItem; if (parse[0].indexOf('.0') + 1) { var items = parse[0].split('.0'); @@ -194,14 +218,26 @@ if (Math.ceil(os.freemem()) < 50) { var arrayItem = items.join('.0'); listItem = op.get(json, arrayItem); } else if (parse[0].indexOf('"') + 1) { - op.set( - movie, - parse[1], - parse[0].toString().replace(/"/g, '') - ); + set_data = parse[0].toString().replace(/"/g, ''); } else { listItem = op.get(json, parse[0]); } + if ( + listItem && + eval_parse && + eval_parse.indexOf('_VALUE_') + 1 + ) { + listItem = eval( + eval_parse.replace( + '_VALUE_', + typeof listItem === 'object' + ? JSON.stringify(listItem) + : typeof listItem === 'boolean' + ? listItem.toString() + : listItem + ) + ); + } if ( listItem && typeof listItem === 'object' && @@ -209,54 +245,43 @@ if (Math.ceil(os.freemem()) < 50) { listItem.length ) { if (joinItem) { - op.set( - movie, - parse[1], - listItem - .map(function(item) { - var set_info = false; - if (sup_parse[0] && sup_parse[1]) { - if ( - op.get(item, sup_parse[0]) && - op - .get(item, sup_parse[0]) - .toString() - .toLowerCase() === - sup_parse[1].toString().toLowerCase() - ) { - set_info = true; - } - } else { + set_data = listItem + .map(function(item) { + var set_info = false; + if (sup_parse[0] && sup_parse[1]) { + if ( + op.get(item, sup_parse[0]) && + op + .get(item, sup_parse[0]) + .toString() + .toLowerCase() === + sup_parse[1].toString().toLowerCase() + ) { set_info = true; } - return set_info - ? op.get(item, joinItem) - : set_info; - }) - .filter(Boolean) - .slice( - 0, - (parse[2] && parseInt(parse[2])) || - listItem.length - ) - .join(',') - ); + } else { + set_info = true; + } + return set_info ? op.get(item, joinItem) : set_info; + }) + .filter(Boolean) + .slice( + 0, + (parse[2] && parseInt(parse[2])) || listItem.length + ) + .join(','); } else { - op.set( - movie, - parse[1], - listItem - .slice( - 0, - (parse[2] && parseInt(parse[2])) || - listItem.length - ) - .join(',') - ); + set_data = listItem + .slice( + 0, + (parse[2] && parseInt(parse[2])) || listItem.length + ) + .join(','); } } else if (listItem) { - op.set(movie, parse[1], listItem.toString()); + set_data = listItem.toString(); } + op.set(movie, parse[1], set_data); }); if (movie['custom'] && typeof movie['custom'] === 'object') { movie['custom']['unique'] = @@ -367,7 +392,6 @@ if (Math.ceil(os.freemem()) < 50) { return callback(); } movie['id'] = req_id; - console.log('MOVIE:', movie); CP_get.movies( { id: movie['id'], @@ -391,6 +415,12 @@ if (Math.ceil(os.freemem()) < 50) { delete current_movie[k]; } }); + if ( + current_movie['poster'] === '1' && + current_movie['poster'] === 1 + ) { + delete current_movie['poster']; + } if (current_movie.custom && parse_movie.custom) { if ( current_movie.custom && @@ -473,14 +503,31 @@ if (Math.ceil(os.freemem()) < 50) { } } ); - console.log('SAVE UPDATE MOVIE:', update_movie); + console.log( + '[REALTIME]', + id_index, + '/', + ids.length, + ')', + 'UPDATE MOVIE', + movie['id'] + ); + console.log(update_movie); CP_save.save(update_movie, 'rt', function(err, result) { update_m++; console.log(err, result); return callback(err); }); } else { - console.log('SAVE MOVIE:', movie); + console.log( + '[REALTIME]', + id_index, + '/', + ids.length, + ')', + 'SAVE REALTIME MOVIE' + ); + console.log(movie); CP_save.save(movie, 'rt', function(err, result) { added_m++; console.log(err, result); @@ -491,15 +538,15 @@ if (Math.ceil(os.freemem()) < 50) { ); }) .catch(function(err) { - console.error('STOP PAGE:', i, err); - console.log('ADDED:', added_m); - console.log('UPDATE:', update_m); + console.error('[REALTIME]', 'STOP PAGE', i, err); + console.log('[REALTIME]', 'ADDED', added_m); + console.log('[REALTIME]', 'UPDATE', update_m); return callback(); }); }, function() { - console.log('ADDED:', added_m); - console.log('UPDATE:', update_m); + console.log('[REALTIME]', 'ADDED:', added_m); + console.log('[REALTIME]', 'UPDATE:', update_m); return callback(); } ); @@ -508,8 +555,6 @@ if (Math.ceil(os.freemem()) < 50) { }, function() { process.env['NO_CACHE'] = undefined; - console.log('ADDED:', added_m); - console.log('UPDATE:', update_m); return process.exit(); } ); diff --git a/themes/default/views/admin/movies.ejs b/themes/default/views/admin/movies.ejs index d604aad..9133d1b 100644 --- a/themes/default/views/admin/movies.ejs +++ b/themes/default/views/admin/movies.ejs @@ -994,7 +994,8 @@ path <> param <> limit <> - filter + filter <> + eval