mirror of
https://github.com/stashapp/stash.git
synced 2025-12-15 21:03:22 +01:00
Don't bail on error when scraping all (#4442)
This commit is contained in:
parent
9859ec61fb
commit
ca976a0994
3 changed files with 39 additions and 23 deletions
|
|
@ -24,6 +24,7 @@ import { useLocalForage } from "src/hooks/LocalForage";
|
|||
import { useToast } from "src/hooks/Toast";
|
||||
import { ConfigurationContext } from "src/hooks/Config";
|
||||
import { ITaggerSource, SCRAPER_PREFIX, STASH_BOX_PREFIX } from "./constants";
|
||||
import { errorToString } from "src/utils";
|
||||
|
||||
export interface ITaggerContextState {
|
||||
config: ITaggerConfig;
|
||||
|
|
@ -293,21 +294,29 @@ export const TaggerContext: React.FC = ({ children }) => {
|
|||
return;
|
||||
}
|
||||
|
||||
const results = await queryScrapeScene(currentSource.sourceInput, sceneID);
|
||||
let newResult: ISceneQueryResult;
|
||||
|
||||
if (results.error) {
|
||||
newResult = { error: results.error.message };
|
||||
} else if (results.errors) {
|
||||
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,
|
||||
})),
|
||||
};
|
||||
try {
|
||||
const results = await queryScrapeScene(
|
||||
currentSource.sourceInput,
|
||||
sceneID
|
||||
);
|
||||
|
||||
if (results.error) {
|
||||
newResult = { error: results.error.message };
|
||||
} else if (results.errors) {
|
||||
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) => {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import React, {
|
|||
useMemo,
|
||||
} from "react";
|
||||
import { Toast } from "react-bootstrap";
|
||||
import { errorToString } from "src/utils";
|
||||
|
||||
interface IToast {
|
||||
header?: string;
|
||||
|
|
@ -67,16 +68,7 @@ export const useToast = () => {
|
|||
});
|
||||
},
|
||||
error(error: unknown) {
|
||||
let message;
|
||||
if (error instanceof Error) {
|
||||
message = error.message;
|
||||
}
|
||||
if (!message) {
|
||||
message = String(error);
|
||||
}
|
||||
if (!message) {
|
||||
message = "Unknown error";
|
||||
}
|
||||
const message = errorToString(error);
|
||||
|
||||
console.error(error);
|
||||
addToast({
|
||||
|
|
|
|||
|
|
@ -2,3 +2,18 @@ import { ApolloError } from "@apollo/client";
|
|||
|
||||
export const apolloError = (error: unknown) =>
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue