From d8ce137086bfd2a83d65a22c4f8d3cc0c0dafac9 Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Wed, 10 Jun 2020 13:43:17 +1000 Subject: [PATCH 01/84] Reload scrapers button (#592) * Add reload scraper option to performer details * Add scraper reload to scene edit page * Show scene scraper menu when no queryable scrapers * Add 0.3 changelog --- graphql/documents/mutations/scrapers.graphql | 3 +++ graphql/schema/schema.graphql | 4 +++ pkg/api/resolver_mutation_scraper.go | 17 ++++++++++++ pkg/scraper/scrapers.go | 6 +++++ .../src/components/Changelog/Changelog.tsx | 12 ++++++--- .../components/Changelog/versions/index.ts | 1 + .../components/Changelog/versions/v030.tsx | 10 +++++++ .../PerformerDetailsPanel.tsx | 27 +++++++++++++++++-- .../Scenes/SceneDetails/SceneEditPanel.tsx | 25 ++++++++++++++--- ui/v2.5/src/core/StashService.ts | 5 ++++ ui/v2.5/src/index.scss | 5 ++++ 11 files changed, 106 insertions(+), 9 deletions(-) create mode 100644 graphql/documents/mutations/scrapers.graphql create mode 100644 pkg/api/resolver_mutation_scraper.go create mode 100644 ui/v2.5/src/components/Changelog/versions/v030.tsx diff --git a/graphql/documents/mutations/scrapers.graphql b/graphql/documents/mutations/scrapers.graphql new file mode 100644 index 000000000..3f186faec --- /dev/null +++ b/graphql/documents/mutations/scrapers.graphql @@ -0,0 +1,3 @@ +mutation ReloadScrapers { + reloadScrapers +} diff --git a/graphql/schema/schema.graphql b/graphql/schema/schema.graphql index 3a57a551e..5f9d9878a 100644 --- a/graphql/schema/schema.graphql +++ b/graphql/schema/schema.graphql @@ -53,6 +53,7 @@ type Query { """List available scrapers""" listPerformerScrapers: [Scraper!]! listSceneScrapers: [Scraper!]! + """Scrape a list of performers based on name""" scrapePerformerList(scraper_id: ID!, query: String!): [ScrapedPerformer!]! """Scrapes a complete performer record based on a scrapePerformerList result""" @@ -153,6 +154,9 @@ type Mutation { """Clean metadata. Returns the job ID""" metadataClean: String! + """Reload scrapers""" + reloadScrapers: Boolean! + stopJob: Boolean! } diff --git a/pkg/api/resolver_mutation_scraper.go b/pkg/api/resolver_mutation_scraper.go new file mode 100644 index 000000000..74d9a0f7d --- /dev/null +++ b/pkg/api/resolver_mutation_scraper.go @@ -0,0 +1,17 @@ +package api + +import ( + "context" + + "github.com/stashapp/stash/pkg/scraper" +) + +func (r *mutationResolver) ReloadScrapers(ctx context.Context) (bool, error) { + err := scraper.ReloadScrapers() + + if err != nil { + return false, err + } + + return true, nil +} diff --git a/pkg/scraper/scrapers.go b/pkg/scraper/scrapers.go index c352dfd20..8f3f6b6eb 100644 --- a/pkg/scraper/scrapers.go +++ b/pkg/scraper/scrapers.go @@ -50,6 +50,12 @@ func loadScrapers() ([]scraperConfig, error) { return scrapers, nil } +func ReloadScrapers() error { + scrapers = nil + _, err := loadScrapers() + return err +} + func ListPerformerScrapers() ([]*models.Scraper, error) { // read scraper config files from the directory and cache scrapers, err := loadScrapers() diff --git a/ui/v2.5/src/components/Changelog/Changelog.tsx b/ui/v2.5/src/components/Changelog/Changelog.tsx index e5ec22014..2e22c0155 100644 --- a/ui/v2.5/src/components/Changelog/Changelog.tsx +++ b/ui/v2.5/src/components/Changelog/Changelog.tsx @@ -1,7 +1,7 @@ import React from "react"; import { useChangelogStorage } from "src/hooks"; import Version from "./Version"; -import { V010, V011, V020, V021 } from "./versions"; +import { V010, V011, V020, V021, V030 } from "./versions"; const Changelog: React.FC = () => { const [{ data, loading }, setOpenState] = useChangelogStorage(); @@ -21,12 +21,19 @@ const Changelog: React.FC = () => { return ( <>