Skip to content

Commit

Permalink
theatre mode updates
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthew Petersen committed Aug 31, 2021
1 parent 7ad594a commit 2db5902
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 46 deletions.
81 changes: 36 additions & 45 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ let sleep = "false";
let sleepClock;
let triviaToken = "";
let theaterMode = false
let tmpSleepStart;
let tmpSleepEnd;

// create working folders if they do not exist
// needed for package binaries
Expand Down Expand Up @@ -462,7 +464,7 @@ async function loadNowScreening() {

if (nsCards.length > 0) {
// check for theater mode and enable
if(loadedSettings.theaterRoomMode !== undefined && loadedSettings.theaterRoomMode == 'true'){
if(loadedSettings.theaterRoomMode !== undefined && loadedSettings.theaterRoomMode == 'true' && theaterMode !== true){
theaterOn();
}

Expand Down Expand Up @@ -879,35 +881,34 @@ async function checkEnabled() {
}

async function theaterOn(){
tmpSleepStart = loadedSettings.sleepStart;
tmpSleepEnd = loadedSettings.sleepEnd;

let d = new Date();
let h = checkTime(d.getHours());
let m = checkTime(d.getMinutes() -5);
let ms = checkTime(d.getMinutes() -3);
loadedSettings.sleepEnd = h + ":" + m;
loadedSettings.sleepStart = h + ":" + ms;
sleep="true";
loadedSettings.playThemes = 'false';
loadedSettings.genericThemes = 'false';
loadedSettings.enableCustomPictureTheme = 'false';
if(theaterMode ==false) suspend(true);
console.log(d.toLocaleString() + ` ** Theatre mode active`);
theaterMode = true;
}

async function theaterOff(theater) {
sleep = "false";
let d = new Date();
if(theater !== undefined && theater == true && theaterMode == true){
loadedSettings.sleepStart = tmpSleepStart;
loadedSettings.sleepEnd = tmpSleepEnd;
theaterMode = false;
isSleepEnabled = false;
loadedSettings.enableSleep = 'false';
console.log(d.toLocaleString() + ` ** Theater mode deactivated`);
loadedSettings = await Promise.resolve(await loadSettings());

//loadedSettings.enableSleep = 'false';
console.log(d.toLocaleString() + ` ** Theatre mode deactivated`);
}
}



async function suspend(theater) {
async function suspend() {
// stop all clocks
clearInterval(nowScreeningClock);
clearInterval(onDemandClock);
Expand All @@ -918,23 +919,18 @@ async function suspend(theater) {
clearInterval(readarrClock);
// set to sleep
sleep = "true";
loadedSettings.playThemes = 'false';
loadedSettings.genericThemes = 'false';
loadedSettings.enableCustomPictureThemes = 'false';
// loadedSettings.playThemes = 'false';
// loadedSettings.genericThemes = 'false';
// loadedSettings.enableCustomPictureThemes = 'false';

let d = new Date();
if(theater !== undefined && theater == true){
console.log(d.toLocaleString() + ` ** Theater mode active`);
theaterMode = true;
}
else{
console.log(d.toLocaleString() + ` ** Sleep mode activated (sleep terminates at ` + loadedSettings.sleepEnd + `)`);
}
console.log(d.toLocaleString() + ` ** Sleep mode activated (sleep terminates at ` + loadedSettings.sleepEnd + `)`);
}


async function wake(theater) {
sleep = "false";
loadedSettings = await loadSettings();
if (isSonarrEnabled) await loadSonarrComingSoon();
if (isRadarrEnabled) await loadRadarrComingSoon();
if (isOnDemandEnabled) await loadOnDemand();
Expand All @@ -943,7 +939,7 @@ async function wake(theater) {
if (isTriviaEnabled) await loadTrivia();
await loadNowScreening();
let d = new Date();
console.log(d.toLocaleString() + ` ** Sleep mode terminated (next activation at ` + loadedSettings.sleepStart + `)`);
if(theater !== true) console.log(d.toLocaleString() + ` ** Sleep mode terminated (next activation at ` + loadedSettings.sleepStart + `)`);
}

/**
Expand Down Expand Up @@ -1079,36 +1075,31 @@ async function startup(clearCache) {
if(isSleepEnabled==true){
// check times every 5 seconds
sleepClock = setInterval(() => {
let startSleep = new Date("2100-01-01T" + loadedSettings.sleepStart);
let endSleep = new Date("2100-01-01T" + loadedSettings.sleepEnd);
let cur = new Date();
let curDate = new Date("2100-01-01T" + checkTime(cur.getHours()) + ":" + checkTime(cur.getMinutes()));



// console.log("S:" + startSleep.toTimeString());
// console.log("C:" + curDate.toTimeString());
// console.log("E:" + endSleep.toTimeString());
// console.log('--------------------');
if((curDate.getTime() >= startSleep.getTime() && curDate.getTime() < endSleep.getTime() && endSleep.getTime() > startSleep.getTime()) || (endSleep.getTime() < startSleep.getTime() && (curDate.getTime() < endSleep.getTime() || curDate.getTime() >= startSleep.getTime())) ){
if(sleep !== "true"){
sleep="true";
suspend();
if(theaterMode !== true){
let startSleep = new Date("2100-01-01T" + loadedSettings.sleepStart);
let endSleep = new Date("2100-01-01T" + loadedSettings.sleepEnd);
let cur = new Date();
let curDate = new Date("2100-01-01T" + checkTime(cur.getHours()) + ":" + checkTime(cur.getMinutes()));

if((curDate.getTime() >= startSleep.getTime() && curDate.getTime() < endSleep.getTime() && endSleep.getTime() > startSleep.getTime()) || (endSleep.getTime() < startSleep.getTime() && (curDate.getTime() < endSleep.getTime() || curDate.getTime() >= startSleep.getTime())) ){
if(sleep !== "true"){
sleep="true";
suspend();
}
}
else{
if(sleep=="true"){
wake();
sleep="false";
}
}
}
else{
if(sleep=="true"){
wake();
sleep="false";
}
}
}, 5000);
}
else{
clearInterval(sleepClock);
sleep = "false";
}

return;
}

Expand Down
2 changes: 1 addition & 1 deletion myviews/posters/posters.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
// console.log('got response');
const posterr = xhr.response;
if(!posterr == null || posterr.globalPage.cards.length !== 0) {
if((!posterr == null || posterr.globalPage.cards.length !== 0) && sleeping !== "true") {
let cardHtml = "";
posterr.globalPage.cards.forEach(card => {
cardHtml += card.rendered;
Expand Down

0 comments on commit 2db5902

Please sign in to comment.