mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 04:14:39 +03:00
Add "split" xpath in post-processing , newlines in replace support (#579)
This commit is contained in:
@@ -663,6 +663,14 @@ func makeSceneXPathConfig() xpathScraper {
|
||||
studioConfig["URL"] = `$studioElem/@href`
|
||||
config["Studio"] = studioConfig
|
||||
|
||||
const sep = " "
|
||||
moviesNameConfig := make(map[interface{}]interface{})
|
||||
moviesNameConfig["selector"] = `//i[@class="isMe tooltipTrig"]/@data-title`
|
||||
moviesNameConfig["split"] = sep
|
||||
moviesConfig := make(map[interface{}]interface{})
|
||||
moviesConfig["Name"] = moviesNameConfig
|
||||
config["Movies"] = moviesConfig
|
||||
|
||||
scraper := xpathScraper{
|
||||
Scene: config,
|
||||
Common: common,
|
||||
@@ -692,6 +700,27 @@ func verifyTags(t *testing.T, expectedTagNames []string, actualTags []*models.Sc
|
||||
}
|
||||
}
|
||||
|
||||
func verifyMovies(t *testing.T, expectedMovieNames []string, actualMovies []*models.ScrapedSceneMovie) {
|
||||
t.Helper()
|
||||
|
||||
i := 0
|
||||
for i < len(expectedMovieNames) || i < len(actualMovies) {
|
||||
expectedMovie := ""
|
||||
actualMovie := ""
|
||||
if i < len(expectedMovieNames) {
|
||||
expectedMovie = expectedMovieNames[i]
|
||||
}
|
||||
if i < len(actualMovies) {
|
||||
actualMovie = actualMovies[i].Name
|
||||
}
|
||||
|
||||
if expectedMovie != actualMovie {
|
||||
t.Errorf("Expected movie %s, got %s", expectedMovie, actualMovie)
|
||||
}
|
||||
i++
|
||||
}
|
||||
}
|
||||
|
||||
func verifyPerformers(t *testing.T, expectedNames []string, expectedURLs []string, actualPerformers []*models.ScrapedScenePerformer) {
|
||||
t.Helper()
|
||||
|
||||
@@ -761,6 +790,15 @@ func TestApplySceneXPathConfig(t *testing.T) {
|
||||
}
|
||||
verifyTags(t, expectedTags, scene.Tags)
|
||||
|
||||
// verify movies
|
||||
expectedMovies := []string{
|
||||
"Video",
|
||||
"of",
|
||||
"verified",
|
||||
"member",
|
||||
}
|
||||
verifyMovies(t, expectedMovies, scene.Movies)
|
||||
|
||||
expectedPerformerNames := []string{
|
||||
"Alex D",
|
||||
"Mia Malkova",
|
||||
|
||||
Reference in New Issue
Block a user