Added support for local chromium path

pull/19/head
MillenniumEarl 2020-10-13 15:40:10 +02:00
parent 627bd13c8a
commit 89706ce3e0
4 changed files with 804 additions and 9 deletions

View File

@ -74,6 +74,14 @@ module.exports.setCacheDir = function (value) {
// Create directory if it doesn't exist // Create directory if it doesn't exist
if (!fs.existsSync(shared.cacheDir)) fs.mkdirSync(shared.cacheDir); if (!fs.existsSync(shared.cacheDir)) fs.mkdirSync(shared.cacheDir);
}; };
/**
* @public
* Set local chromium path.
* @returns {String}
*/
module.exports.setChromiumPath = function (value) {
shared.chromiumLocalPath = value;
};
//#endregion Export properties //#endregion Export properties
//#region Global variables //#region Global variables
@ -90,6 +98,7 @@ var _browser = null;
* @returns {Promise<LoginResult>} Result of the operation * @returns {Promise<LoginResult>} Result of the operation
*/ */
module.exports.login = async function (username, password) { module.exports.login = async function (username, password) {
if (shared.isLogged) { if (shared.isLogged) {
if (shared.debug) console.log("Already logged in"); if (shared.debug) console.log("Already logged in");
let result = new LoginResult(); let result = new LoginResult();
@ -137,6 +146,7 @@ module.exports.login = async function (username, password) {
* @returns {Promise<Boolean>} Result of the operation * @returns {Promise<Boolean>} Result of the operation
*/ */
module.exports.loadF95BaseData = async function () { module.exports.loadF95BaseData = async function () {
if (!shared.isLogged || !shared.cookies) { if (!shared.isLogged || !shared.cookies) {
console.warn("User not authenticated, unable to continue"); console.warn("User not authenticated, unable to continue");
return false; return false;
@ -186,6 +196,7 @@ module.exports.loadF95BaseData = async function () {
* @returns {Promise<Boolean>} true if an update is available, false otherwise * @returns {Promise<Boolean>} true if an update is available, false otherwise
*/ */
module.exports.chekIfGameHasUpdate = async function (info) { module.exports.chekIfGameHasUpdate = async function (info) {
if (!shared.isLogged || !shared.cookies) { if (!shared.isLogged || !shared.cookies) {
console.warn("user not authenticated, unable to continue"); console.warn("user not authenticated, unable to continue");
return info.version; return info.version;
@ -216,6 +227,7 @@ module.exports.chekIfGameHasUpdate = async function (info) {
* an identified game (in the case of homonymy). If no games were found, null is returned * an identified game (in the case of homonymy). If no games were found, null is returned
*/ */
module.exports.getGameData = async function (name, includeMods) { module.exports.getGameData = async function (name, includeMods) {
if (!shared.isLogged || !shared.cookies) { if (!shared.isLogged || !shared.cookies) {
console.warn("user not authenticated, unable to continue"); console.warn("user not authenticated, unable to continue");
return null; return null;
@ -253,6 +265,7 @@ module.exports.getGameData = async function (name, includeMods) {
* @returns {Promise<GameInfo>} Information about the game. If no game was found, null is returned * @returns {Promise<GameInfo>} Information about the game. If no game was found, null is returned
*/ */
module.exports.getGameDataFromURL = async function (url) { module.exports.getGameDataFromURL = async function (url) {
if (!shared.isLogged || !shared.cookies) { if (!shared.isLogged || !shared.cookies) {
console.warn("user not authenticated, unable to continue"); console.warn("user not authenticated, unable to continue");
return null; return null;
@ -279,6 +292,7 @@ module.exports.getGameDataFromURL = async function (url) {
* @returns {Promise<UserData>} Data of the user currently logged in or null if an error arise * @returns {Promise<UserData>} Data of the user currently logged in or null if an error arise
*/ */
module.exports.getUserData = async function () { module.exports.getUserData = async function () {
if (!shared.isLogged || !shared.cookies) { if (!shared.isLogged || !shared.cookies) {
console.warn("user not authenticated, unable to continue"); console.warn("user not authenticated, unable to continue");
return null; return null;
@ -325,6 +339,7 @@ module.exports.getUserData = async function () {
* You **must** be logged in to the portal before calling this method. * You **must** be logged in to the portal before calling this method.
*/ */
module.exports.logout = async function () { module.exports.logout = async function () {
if (!shared.isLogged || !shared.cookies) { if (!shared.isLogged || !shared.cookies) {
console.warn("user not authenticated, unable to continue"); console.warn("user not authenticated, unable to continue");
return; return;

View File

@ -15,6 +15,7 @@ const shared = require("./shared.js");
module.exports.prepareBrowser = async function () { module.exports.prepareBrowser = async function () {
// Create a headless browser // Create a headless browser
let browser = await puppeteer.launch({ let browser = await puppeteer.launch({
executablePath: shared.chromiumLocalPath,
headless: !shared.debug, // Use GUI when debug = true headless: !shared.debug, // Use GUI when debug = true
}); });

795
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@ async function main() {
if (loginResult.success) { if (loginResult.success) {
await loadF95BaseData(); await loadF95BaseData();
let gameData = await getGameData("detective girl of the steam city", false); let gameData = await getGameData("employee benefits", false);
console.log(gameData); console.log(gameData);
// let userData = await getUserData(); // let userData = await getUserData();