Style bugfixes
parent
987a9f08f0
commit
98067e0636
|
@ -268,7 +268,7 @@ module.exports.getGameDataFromURL = async function (url) {
|
|||
|
||||
// Check URL
|
||||
if (!urlExists(url)) return null;
|
||||
if (!isF95URL(url)) throw url + " is not a valid F95Zone URL";
|
||||
if (!isF95URL(url)) throw new Error(url + " is not a valid F95Zone URL");
|
||||
|
||||
// Gets the search results of the game being searched for
|
||||
if (_browser === null && !shared.isolation) _browser = await prepareBrowser();
|
||||
|
@ -508,9 +508,8 @@ async function loginF95(browser, username, password) {
|
|||
const c = await page.cookies();
|
||||
fs.writeFileSync(shared.cookiesCachePath, JSON.stringify(c));
|
||||
result.message = "Authentication successful";
|
||||
}
|
||||
} else if (
|
||||
// Obtain the error message
|
||||
else if (
|
||||
await page.evaluate(
|
||||
/* istanbul ignore next */ (selector) =>
|
||||
document.querySelector(selector) !== null,
|
||||
|
|
|
@ -2,15 +2,21 @@
|
|||
|
||||
// Public modules from npm
|
||||
const HTMLParser = require("node-html-parser");
|
||||
const puppeteer = require("puppeteer");
|
||||
const puppeteer = require("puppeteer"); // skipcq: JS-0128
|
||||
|
||||
// Modules from file
|
||||
const shared = require("./shared.js");
|
||||
const selectors = require("./constants/css-selectors.js");
|
||||
const { preparePage } = require("./puppeteer-helper.js");
|
||||
const {
|
||||
preparePage
|
||||
} = require("./puppeteer-helper.js");
|
||||
const GameDownload = require("./classes/game-download.js");
|
||||
const GameInfo = require("./classes/game-info.js");
|
||||
const { isStringAValidURL, isF95URL, urlExists } = require("./urls-helper.js");
|
||||
const {
|
||||
isStringAValidURL,
|
||||
isF95URL,
|
||||
urlExists
|
||||
} = require("./urls-helper.js");
|
||||
|
||||
/**
|
||||
* @protected
|
||||
|
@ -24,7 +30,7 @@ module.exports.getGameInfo = async function (browser, url) {
|
|||
if (shared.debug) console.log("Obtaining game info");
|
||||
|
||||
// Verify the correctness of the URL
|
||||
if (!isF95URL(url)) throw url + " is not a valid F95Zone URL";
|
||||
if (!isF95URL(url)) throw new Error(url + " is not a valid F95Zone URL");
|
||||
const exists = await urlExists(url);
|
||||
if (!exists) return null;
|
||||
|
||||
|
@ -54,12 +60,12 @@ module.exports.getGameInfo = async function (browser, url) {
|
|||
info.overview = overview;
|
||||
info.tags = await tags;
|
||||
info.f95url = url;
|
||||
info.version = info.isMod
|
||||
? parsedInfos["MOD VERSION"]
|
||||
: parsedInfos["VERSION"];
|
||||
info.lastUpdate = info.isMod
|
||||
? parsedInfos["UPDATED"]
|
||||
: parsedInfos["THREAD UPDATED"];
|
||||
info.version = info.isMod ?
|
||||
parsedInfos["MOD VERSION"] :
|
||||
parsedInfos["VERSION"];
|
||||
info.lastUpdate = info.isMod ?
|
||||
parsedInfos["UPDATED"] :
|
||||
parsedInfos["THREAD UPDATED"];
|
||||
info.previewSource = await previewSource;
|
||||
info.changelog = (await changelog || "Unknown changelog");
|
||||
//info.downloadInfo = await downloadData;
|
||||
|
@ -132,7 +138,8 @@ async function getMainPostStructuredText(page) {
|
|||
|
||||
// The info are plain text so we need to parse the HTML code
|
||||
const bodyHTML = await page.evaluate(
|
||||
/* istanbul ignore next */ (mainPost) => mainPost.innerHTML,
|
||||
/* istanbul ignore next */
|
||||
(mainPost) => mainPost.innerHTML,
|
||||
post
|
||||
);
|
||||
return HTMLParser.parse(bodyHTML).structuredText;
|
||||
|
@ -147,7 +154,8 @@ async function getMainPostStructuredText(page) {
|
|||
async function getGameAuthor(page) {
|
||||
// Get the game/mod name (without square brackets)
|
||||
const titleHTML = await page.evaluate(
|
||||
/* istanbul ignore next */ (selector) =>
|
||||
/* istanbul ignore next */
|
||||
(selector) =>
|
||||
document.querySelector(selector).innerHTML,
|
||||
selectors.GAME_TITLE
|
||||
);
|
||||
|
@ -196,7 +204,8 @@ function parseConversationPage(text) {
|
|||
*/
|
||||
async function getGamePreviewSource(page) {
|
||||
const src = await page.evaluate(
|
||||
/* istanbul ignore next */ (selector) => {
|
||||
/* istanbul ignore next */
|
||||
(selector) => {
|
||||
// Get the firs image available
|
||||
const img = document.querySelector(selector);
|
||||
|
||||
|
@ -219,7 +228,8 @@ async function getGamePreviewSource(page) {
|
|||
async function getGameTitle(page) {
|
||||
// Get the game/mod name (without square brackets)
|
||||
const titleHTML = await page.evaluate(
|
||||
/* istanbul ignore next */ (selector) =>
|
||||
/* istanbul ignore next */
|
||||
(selector) =>
|
||||
document.querySelector(selector).innerHTML,
|
||||
selectors.GAME_TITLE
|
||||
);
|
||||
|
@ -243,7 +253,8 @@ async function getGameTags(page) {
|
|||
// Get the game tags
|
||||
for (const handle of await page.$$(selectors.GAME_TAGS)) {
|
||||
const tag = await page.evaluate(
|
||||
/* istanbul ignore next */ (element) => element.innerText,
|
||||
/* istanbul ignore next */
|
||||
(element) => element.innerText,
|
||||
handle
|
||||
);
|
||||
tags.push(tag.toUpperCase());
|
||||
|
@ -266,7 +277,8 @@ async function parsePrefixes(page, info) {
|
|||
info.status = "Ongoing";
|
||||
for (const handle of await page.$$(selectors.GAME_TITLE_PREFIXES)) {
|
||||
const value = await page.evaluate(
|
||||
/* istanbul ignore next */ (element) => element.innerText,
|
||||
/* istanbul ignore next */
|
||||
(element) => element.innerText,
|
||||
handle
|
||||
);
|
||||
|
||||
|
@ -310,6 +322,7 @@ async function getLastChangelog(page) {
|
|||
* @param {puppeteer.Page} page Page containing the links to be extrapolated
|
||||
* @returns {Promise<GameDownload[]>} List of objects used for game download
|
||||
*/
|
||||
// skipcq: JS-0128
|
||||
async function getGameDownloadLink(page) {
|
||||
// Most used hosting platforms
|
||||
const hostingPlatforms = [
|
||||
|
@ -337,7 +350,8 @@ async function getGameDownloadLink(page) {
|
|||
if (container !== null) break;
|
||||
const upperText = (
|
||||
await page.evaluate(
|
||||
/* istanbul ignore next */ (e) => e.innerText,
|
||||
/* istanbul ignore next */
|
||||
(e) => e.innerText,
|
||||
candidate
|
||||
)
|
||||
).toUpperCase();
|
||||
|
@ -355,7 +369,8 @@ async function getGameDownloadLink(page) {
|
|||
// Extract the HTML text from the container
|
||||
const searchText = (
|
||||
await page.evaluate(
|
||||
/* istanbul ignore next */ (e) => e.innerHTML,
|
||||
/* istanbul ignore next */
|
||||
(e) => e.innerHTML,
|
||||
container
|
||||
)
|
||||
).toLowerCase();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
"use strict";
|
||||
|
||||
// Public modules from npm
|
||||
const puppeteer = require("puppeteer");
|
||||
const puppeteer = require("puppeteer"); // skipcq: JS-0128
|
||||
|
||||
// Modules from file
|
||||
const shared = require("./shared.js");
|
||||
|
|
|
@ -27,7 +27,7 @@ module.exports.isF95URL = function (url) {
|
|||
*/
|
||||
module.exports.isStringAValidURL = function (url) {
|
||||
try {
|
||||
new URL(url);
|
||||
new URL(url); // skipcq: JS-0078
|
||||
return true;
|
||||
} catch (err) {
|
||||
return false;
|
||||
|
|
Loading…
Reference in New Issue