Enrich TPDB performers with AE data while preserving TPDB IDs
This commit is contained in:
parent
d0f009f127
commit
29e84276a1
|
|
@ -9,6 +9,7 @@ import (
|
|||
"git.leaktechnologies.dev/stu/Goondex/internal/db"
|
||||
"git.leaktechnologies.dev/stu/Goondex/internal/model"
|
||||
"git.leaktechnologies.dev/stu/Goondex/internal/scraper/adultemp"
|
||||
"git.leaktechnologies.dev/stu/Goondex/internal/scraper/merger"
|
||||
)
|
||||
|
||||
type Enricher struct {
|
||||
|
|
@ -40,6 +41,7 @@ func (e *Enricher) EnrichPerformer(ctx context.Context, p *model.Performer) {
|
|||
if name == "" {
|
||||
return
|
||||
}
|
||||
|
||||
results, err := e.adult.SearchPerformersByName(ctx, name)
|
||||
if err != nil || len(results) == 0 {
|
||||
return
|
||||
|
|
@ -48,12 +50,25 @@ func (e *Enricher) EnrichPerformer(ctx context.Context, p *model.Performer) {
|
|||
if err != nil {
|
||||
return
|
||||
}
|
||||
merged := e.adult.ConvertPerformerToModel(data)
|
||||
|
||||
// Only merge when names reasonably match
|
||||
if !merger.ShouldMerge(p.Name, data.Name) {
|
||||
return
|
||||
}
|
||||
|
||||
merged := merger.MergePerformerData(p, data)
|
||||
|
||||
// Preserve original source IDs (TPDB format)
|
||||
merged.Source = p.Source
|
||||
merged.SourceID = p.SourceID
|
||||
merged.SourceNumericID = p.SourceNumericID
|
||||
merged.ID = p.ID
|
||||
|
||||
store := db.NewPerformerStore(e.db)
|
||||
if err := store.Create(merged); err != nil {
|
||||
log.Printf("enrich: failed to update performer %s: %v", name, err)
|
||||
}
|
||||
|
||||
if e.delay > 0 {
|
||||
time.Sleep(e.delay)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user