Performers, Tags and Studio from scene filename (#174)

* Make regex matching case-insensitive

* Port filename parser code to backend

* Add performers to scene filename parser UI

* Finish porting parser to backend

* Add performer, studio and tag parsing

* Hide fields not being parsed

* Don't query for empty performer/studio/tag

* Use exact matches

* Fix panic

* Fix arrays changed false positive. Fix layout
This commit is contained in:
WithoutPants
2019-11-07 23:49:08 +11:00
committed by Leopere
parent 3c089dd97c
commit 84bee2eb60
11 changed files with 1301 additions and 402 deletions

View File

@@ -2,8 +2,10 @@ package api
import (
"context"
"github.com/stashapp/stash/pkg/models"
"strconv"
"github.com/stashapp/stash/pkg/manager"
"github.com/stashapp/stash/pkg/models"
)
func (r *queryResolver) FindScene(ctx context.Context, id *string, checksum *string) (*models.Scene, error) {
@@ -37,3 +39,18 @@ func (r *queryResolver) FindScenesByPathRegex(ctx context.Context, filter *model
Scenes: scenes,
}, nil
}
func (r *queryResolver) ParseSceneFilenames(ctx context.Context, filter *models.FindFilterType, config models.SceneParserInput) (*models.SceneParserResultType, error) {
parser := manager.NewSceneFilenameParser(filter, config)
result, count, err := parser.Parse()
if err != nil {
return nil, err
}
return &models.SceneParserResultType{
Count: count,
Results: result,
}, nil
}