diff options
| -rw-r--r-- | dbparse.js | 10 | ||||
| -rwxr-xr-x | init.sh | 8 | ||||
| -rw-r--r-- | server.js | 2 | 
3 files changed, 17 insertions, 3 deletions
@@ -173,10 +173,14 @@ function randInt(start, stop)  	return start + Math.floor(Math.random() * (stop - start));  } -async function getRandomIndex(day, DB) +async function getRandomIndex(day, DB, depth=0)  { +	if (depth > 10) +		return null; +  	let indexes = await DB.execute("SELECT course, teacher, class FROM shifts WHERE day = ? ORDER BY RAND() LIMIT 1", [day]); -	indexes = Object.values(indexes[0]); +	 +	indexes = Object.values(indexes[0] || [null, null, null]); /// ERROR HERE!!!  	let start = randInt(0, indexes.length);  	for (let test = 0; test < 3; test++)  	{ @@ -185,7 +189,7 @@ async function getRandomIndex(day, DB)  			return indexes[i];  	}  	console.log("Warning: row without class/teacher/course in database!"); -	return getRandomIndex(day, DB); +	return getRandomIndex(day, DB, depth + 1);  } @@ -13,6 +13,14 @@ echo "# Connected to internet!"  echo "" +echo "# Testing DB availability" +while ! echo 'exit' | mysql; do +	sleep 5 +done +echo "# Database seems to be available (ignore error messages above)" + +echo "" +  cd "$BASE_DIR/LYLLRuoka"  echo "# node server.js:"  node server.js @@ -252,6 +252,8 @@ async function buildMain(args)  	// get the example input  	res["example-input"] = await DBPARSE.randomIndex(day, SQLDB); +	if (res["example-input"] === null) +		res["example-input"] = "";  	// get the day  	let weekdays = ["ma", "ti", "ke", "to", "pe", "la", "su"];  | 
