Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbab4072

Browse files
authored
fix: Improve Actor Name Matches with Stashdb (#1655)
1 parent8d7855f commitbab4072

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

‎pkg/externalreference/stashdb.go

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ func checkMatchedScenes() {
249249

250250
// if len(ref.XbvrLinks) == 0 {
251251
for_,xbvrActor:=rangexbvrScene.Cast {
252-
ifstrings.EqualFold(strings.TrimSpace(xbvrActor.Name),strings.TrimSpace(performer.Performer.Name)) {
252+
ifstrings.EqualFold(strings.TrimSpace(simplifyName(xbvrActor.Name)),strings.TrimSpace(simplifyName(performer.Performer.Name))) {
253253
// check if actor already matched
254254
exists:=false
255255
for_,link:=rangeref.XbvrLinks {
@@ -364,7 +364,7 @@ func matchPerformerName(scene models.StashScene, xbvrScene models.Scene, matchLe
364364

365365
ifref.ID!=0&&len(ref.XbvrLinks)==0 {
366366
for_,xbvrActor:=rangexbvrScene.Cast {
367-
ifstrings.EqualFold(strings.TrimSpace(xbvrActor.Name),strings.TrimSpace(performer.Performer.Name)) {
367+
ifstrings.EqualFold(strings.TrimSpace(simplifyName(xbvrActor.Name)),strings.TrimSpace(simplifyName(performer.Performer.Name))) {
368368
xbvrLink:= models.ExternalReferenceLink{InternalTable:"actors",InternalDbId:xbvrActor.ID,InternalNameId:xbvrActor.Name,MatchType:matchLevl,
369369
ExternalReferenceID:ref.ID,ExternalSource:ref.ExternalSource,ExternalId:ref.ExternalId}
370370
ref.XbvrLinks=append(ref.XbvrLinks,xbvrLink)
@@ -390,6 +390,13 @@ func matchPerformerName(scene models.StashScene, xbvrScene models.Scene, matchLe
390390

391391
}
392392

393+
funcsimplifyName(namestring)string {
394+
name=strings.TrimSpace(name)
395+
name=strings.ReplaceAll(name," ","")
396+
name=strings.ReplaceAll(name,".","")
397+
returnstrings.ReplaceAll(name,"-","")
398+
}
399+
393400
// tries to match from stash to xbvr using the aka or aliases from stash
394401
funcMatchAkaPerformers() {
395402
tlog:=log.WithField("task","scrape")
@@ -434,10 +441,12 @@ func MatchAkaPerformers() {
434441

435442
for_,aka:=rangeakaList {
436443
varscene models.Scene
437-
scene.GetIfExistByPK(uint(aka.SceneInternalDbId))
444+
445+
db.Preload("Cast").Where(&models.Scene{ID:uint(aka.SceneInternalDbId)}).First(&scene)
446+
438447
for_,actor:=rangescene.Cast {
439448
varextref models.ExternalReference
440-
ifstrings.EqualFold(strings.TrimSpace(actor.Name),strings.TrimSpace(aka.AkaName)) {
449+
ifstrings.EqualFold(strings.TrimSpace(simplifyName(actor.Name)),strings.TrimSpace(simplifyName(aka.AkaName))) {
441450
extref.FindExternalId("stashdb performer",aka.ActorId)
442451
ifextref.ID!=0&&len(extref.XbvrLinks)==0 {
443452
xbvrLink:= models.ExternalReferenceLink{InternalTable:"actors",InternalDbId:actor.ID,InternalNameId:actor.Name,MatchType:30,
@@ -453,7 +462,7 @@ func MatchAkaPerformers() {
453462
varaliases []string
454463
json.Unmarshal([]byte(aka.Aliases),&aliases)
455464
for_,alias:=rangealiases {
456-
iflen(extref.XbvrLinks)==0&&strings.EqualFold(strings.TrimSpace(actor.Name),strings.TrimSpace(alias)) {
465+
iflen(extref.XbvrLinks)==0&&strings.EqualFold(strings.TrimSpace(simplifyName(actor.Name)),strings.TrimSpace(simplifyName(alias))) {
457466
extref.FindExternalId("stashdb performer",aka.ActorId)
458467
ifextref.ID!=0&&len(extref.XbvrLinks)==0 {
459468
xbvrLink:= models.ExternalReferenceLink{InternalTable:"actors",InternalDbId:actor.ID,InternalNameId:actor.Name,MatchType:30,
@@ -502,7 +511,7 @@ func ReverseMatch() {
502511
varstashSceneData models.StashScene
503512
json.Unmarshal([]byte(stashScene.ExternalData),&stashSceneData)
504513
for_,performance:=rangestashSceneData.Performers {
505-
ifstrings.EqualFold(strings.TrimSpace(actor.Name),strings.TrimSpace(performance.As)) {
514+
ifstrings.EqualFold(strings.TrimSpace(simplifyName(actor.Name)),strings.TrimSpace(simplifyName(performance.As))) {
506515
varextref models.ExternalReference
507516
extref.FindExternalId("stashdb performer",performance.Performer.ID)
508517
ifextref.ID!=0 {
@@ -520,7 +529,7 @@ func ReverseMatch() {
520529
break sceneLoop
521530
}
522531
for_,alias:=rangeperformance.Performer.Aliases {
523-
ifstrings.EqualFold(strings.TrimSpace(actor.Name),strings.TrimSpace(alias)) {
532+
ifstrings.EqualFold(strings.TrimSpace(simplifyName(actor.Name)),strings.TrimSpace(simplifyName(alias))) {
524533
varextref models.ExternalReference
525534
extref.FindExternalId("stashdb performer",performance.Performer.ID)
526535
ifextref.ID!=0 {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp