mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 12:54:38 +03:00
Don't bail on error when scraping all (#4442)
This commit is contained in:
@@ -24,6 +24,7 @@ import { useLocalForage } from "src/hooks/LocalForage";
|
|||||||
import { useToast } from "src/hooks/Toast";
|
import { useToast } from "src/hooks/Toast";
|
||||||
import { ConfigurationContext } from "src/hooks/Config";
|
import { ConfigurationContext } from "src/hooks/Config";
|
||||||
import { ITaggerSource, SCRAPER_PREFIX, STASH_BOX_PREFIX } from "./constants";
|
import { ITaggerSource, SCRAPER_PREFIX, STASH_BOX_PREFIX } from "./constants";
|
||||||
|
import { errorToString } from "src/utils";
|
||||||
|
|
||||||
export interface ITaggerContextState {
|
export interface ITaggerContextState {
|
||||||
config: ITaggerConfig;
|
config: ITaggerConfig;
|
||||||
@@ -293,21 +294,29 @@ export const TaggerContext: React.FC = ({ children }) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const results = await queryScrapeScene(currentSource.sourceInput, sceneID);
|
|
||||||
let newResult: ISceneQueryResult;
|
let newResult: ISceneQueryResult;
|
||||||
|
|
||||||
if (results.error) {
|
try {
|
||||||
newResult = { error: results.error.message };
|
const results = await queryScrapeScene(
|
||||||
} else if (results.errors) {
|
currentSource.sourceInput,
|
||||||
newResult = { error: results.errors.toString() };
|
sceneID
|
||||||
} else {
|
);
|
||||||
newResult = {
|
|
||||||
results: results.data.scrapeSingleScene.map((r) => ({
|
if (results.error) {
|
||||||
...r,
|
newResult = { error: results.error.message };
|
||||||
// scenes are already resolved if they are scraped via fragment
|
} else if (results.errors) {
|
||||||
resolved: true,
|
newResult = { error: results.errors.toString() };
|
||||||
})),
|
} else {
|
||||||
};
|
newResult = {
|
||||||
|
results: results.data.scrapeSingleScene.map((r) => ({
|
||||||
|
...r,
|
||||||
|
// scenes are already resolved if they are scraped via fragment
|
||||||
|
resolved: true,
|
||||||
|
})),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
} catch (err: unknown) {
|
||||||
|
newResult = { error: errorToString(err) };
|
||||||
}
|
}
|
||||||
|
|
||||||
setSearchResults((current) => {
|
setSearchResults((current) => {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import React, {
|
|||||||
useMemo,
|
useMemo,
|
||||||
} from "react";
|
} from "react";
|
||||||
import { Toast } from "react-bootstrap";
|
import { Toast } from "react-bootstrap";
|
||||||
|
import { errorToString } from "src/utils";
|
||||||
|
|
||||||
interface IToast {
|
interface IToast {
|
||||||
header?: string;
|
header?: string;
|
||||||
@@ -67,16 +68,7 @@ export const useToast = () => {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
error(error: unknown) {
|
error(error: unknown) {
|
||||||
let message;
|
const message = errorToString(error);
|
||||||
if (error instanceof Error) {
|
|
||||||
message = error.message;
|
|
||||||
}
|
|
||||||
if (!message) {
|
|
||||||
message = String(error);
|
|
||||||
}
|
|
||||||
if (!message) {
|
|
||||||
message = "Unknown error";
|
|
||||||
}
|
|
||||||
|
|
||||||
console.error(error);
|
console.error(error);
|
||||||
addToast({
|
addToast({
|
||||||
|
|||||||
@@ -2,3 +2,18 @@ import { ApolloError } from "@apollo/client";
|
|||||||
|
|
||||||
export const apolloError = (error: unknown) =>
|
export const apolloError = (error: unknown) =>
|
||||||
error instanceof ApolloError ? error.message : "";
|
error instanceof ApolloError ? error.message : "";
|
||||||
|
|
||||||
|
export function errorToString(error: unknown) {
|
||||||
|
let message;
|
||||||
|
if (error instanceof Error) {
|
||||||
|
message = error.message;
|
||||||
|
}
|
||||||
|
if (!message) {
|
||||||
|
message = String(error);
|
||||||
|
}
|
||||||
|
if (!message) {
|
||||||
|
message = "Unknown error";
|
||||||
|
}
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user