mirror of
https://github.com/stashapp/stash.git
synced 2026-02-16 12:22:18 +01:00
Fix scraping stash-box performers with null birthdates (#5428)
This commit is contained in:
parent
89f539ee24
commit
b1d5dc2a0e
3 changed files with 30 additions and 81 deletions
|
|
@ -30,11 +30,6 @@ fragment TagFragment on Tag {
|
|||
id
|
||||
}
|
||||
|
||||
fragment FuzzyDateFragment on FuzzyDate {
|
||||
date
|
||||
accuracy
|
||||
}
|
||||
|
||||
fragment MeasurementsFragment on Measurements {
|
||||
band_size
|
||||
cup_size
|
||||
|
|
@ -60,9 +55,7 @@ fragment PerformerFragment on Performer {
|
|||
images {
|
||||
...ImageFragment
|
||||
}
|
||||
birthdate {
|
||||
...FuzzyDateFragment
|
||||
}
|
||||
birth_date
|
||||
ethnicity
|
||||
country
|
||||
eye_color
|
||||
|
|
|
|||
|
|
@ -139,24 +139,6 @@ func (t *TagFragment) GetID() string {
|
|||
return t.ID
|
||||
}
|
||||
|
||||
type FuzzyDateFragment struct {
|
||||
Date string "json:\"date\" graphql:\"date\""
|
||||
Accuracy DateAccuracyEnum "json:\"accuracy\" graphql:\"accuracy\""
|
||||
}
|
||||
|
||||
func (t *FuzzyDateFragment) GetDate() string {
|
||||
if t == nil {
|
||||
t = &FuzzyDateFragment{}
|
||||
}
|
||||
return t.Date
|
||||
}
|
||||
func (t *FuzzyDateFragment) GetAccuracy() *DateAccuracyEnum {
|
||||
if t == nil {
|
||||
t = &FuzzyDateFragment{}
|
||||
}
|
||||
return &t.Accuracy
|
||||
}
|
||||
|
||||
type MeasurementsFragment struct {
|
||||
BandSize *int "json:\"band_size,omitempty\" graphql:\"band_size\""
|
||||
CupSize *string "json:\"cup_size,omitempty\" graphql:\"cup_size\""
|
||||
|
|
@ -216,7 +198,7 @@ type PerformerFragment struct {
|
|||
MergedIds []string "json:\"merged_ids\" graphql:\"merged_ids\""
|
||||
Urls []*URLFragment "json:\"urls\" graphql:\"urls\""
|
||||
Images []*ImageFragment "json:\"images\" graphql:\"images\""
|
||||
Birthdate *FuzzyDateFragment "json:\"birthdate,omitempty\" graphql:\"birthdate\""
|
||||
BirthDate *string "json:\"birth_date,omitempty\" graphql:\"birth_date\""
|
||||
Ethnicity *EthnicityEnum "json:\"ethnicity,omitempty\" graphql:\"ethnicity\""
|
||||
Country *string "json:\"country,omitempty\" graphql:\"country\""
|
||||
EyeColor *EyeColorEnum "json:\"eye_color,omitempty\" graphql:\"eye_color\""
|
||||
|
|
@ -278,11 +260,11 @@ func (t *PerformerFragment) GetImages() []*ImageFragment {
|
|||
}
|
||||
return t.Images
|
||||
}
|
||||
func (t *PerformerFragment) GetBirthdate() *FuzzyDateFragment {
|
||||
func (t *PerformerFragment) GetBirthDate() *string {
|
||||
if t == nil {
|
||||
t = &PerformerFragment{}
|
||||
}
|
||||
return t.Birthdate
|
||||
return t.BirthDate
|
||||
}
|
||||
func (t *PerformerFragment) GetEthnicity() *EthnicityEnum {
|
||||
if t == nil {
|
||||
|
|
@ -877,9 +859,7 @@ fragment PerformerFragment on Performer {
|
|||
images {
|
||||
... ImageFragment
|
||||
}
|
||||
birthdate {
|
||||
... FuzzyDateFragment
|
||||
}
|
||||
birth_date
|
||||
ethnicity
|
||||
country
|
||||
eye_color
|
||||
|
|
@ -898,10 +878,6 @@ fragment PerformerFragment on Performer {
|
|||
... BodyModificationFragment
|
||||
}
|
||||
}
|
||||
fragment FuzzyDateFragment on FuzzyDate {
|
||||
date
|
||||
accuracy
|
||||
}
|
||||
fragment MeasurementsFragment on Measurements {
|
||||
band_size
|
||||
cup_size
|
||||
|
|
@ -1015,9 +991,7 @@ fragment PerformerFragment on Performer {
|
|||
images {
|
||||
... ImageFragment
|
||||
}
|
||||
birthdate {
|
||||
... FuzzyDateFragment
|
||||
}
|
||||
birth_date
|
||||
ethnicity
|
||||
country
|
||||
eye_color
|
||||
|
|
@ -1036,10 +1010,6 @@ fragment PerformerFragment on Performer {
|
|||
... BodyModificationFragment
|
||||
}
|
||||
}
|
||||
fragment FuzzyDateFragment on FuzzyDate {
|
||||
date
|
||||
accuracy
|
||||
}
|
||||
fragment MeasurementsFragment on Measurements {
|
||||
band_size
|
||||
cup_size
|
||||
|
|
@ -1153,9 +1123,7 @@ fragment PerformerFragment on Performer {
|
|||
images {
|
||||
... ImageFragment
|
||||
}
|
||||
birthdate {
|
||||
... FuzzyDateFragment
|
||||
}
|
||||
birth_date
|
||||
ethnicity
|
||||
country
|
||||
eye_color
|
||||
|
|
@ -1174,10 +1142,6 @@ fragment PerformerFragment on Performer {
|
|||
... BodyModificationFragment
|
||||
}
|
||||
}
|
||||
fragment FuzzyDateFragment on FuzzyDate {
|
||||
date
|
||||
accuracy
|
||||
}
|
||||
fragment MeasurementsFragment on Measurements {
|
||||
band_size
|
||||
cup_size
|
||||
|
|
@ -1291,9 +1255,7 @@ fragment PerformerFragment on Performer {
|
|||
images {
|
||||
... ImageFragment
|
||||
}
|
||||
birthdate {
|
||||
... FuzzyDateFragment
|
||||
}
|
||||
birth_date
|
||||
ethnicity
|
||||
country
|
||||
eye_color
|
||||
|
|
@ -1312,10 +1274,6 @@ fragment PerformerFragment on Performer {
|
|||
... BodyModificationFragment
|
||||
}
|
||||
}
|
||||
fragment FuzzyDateFragment on FuzzyDate {
|
||||
date
|
||||
accuracy
|
||||
}
|
||||
fragment MeasurementsFragment on Measurements {
|
||||
band_size
|
||||
cup_size
|
||||
|
|
@ -1368,9 +1326,7 @@ fragment PerformerFragment on Performer {
|
|||
images {
|
||||
... ImageFragment
|
||||
}
|
||||
birthdate {
|
||||
... FuzzyDateFragment
|
||||
}
|
||||
birth_date
|
||||
ethnicity
|
||||
country
|
||||
eye_color
|
||||
|
|
@ -1399,10 +1355,6 @@ fragment ImageFragment on Image {
|
|||
width
|
||||
height
|
||||
}
|
||||
fragment FuzzyDateFragment on FuzzyDate {
|
||||
date
|
||||
accuracy
|
||||
}
|
||||
fragment MeasurementsFragment on Measurements {
|
||||
band_size
|
||||
cup_size
|
||||
|
|
@ -1450,9 +1402,7 @@ fragment PerformerFragment on Performer {
|
|||
images {
|
||||
... ImageFragment
|
||||
}
|
||||
birthdate {
|
||||
... FuzzyDateFragment
|
||||
}
|
||||
birth_date
|
||||
ethnicity
|
||||
country
|
||||
eye_color
|
||||
|
|
@ -1481,10 +1431,6 @@ fragment ImageFragment on Image {
|
|||
width
|
||||
height
|
||||
}
|
||||
fragment FuzzyDateFragment on FuzzyDate {
|
||||
date
|
||||
accuracy
|
||||
}
|
||||
fragment MeasurementsFragment on Measurements {
|
||||
band_size
|
||||
cup_size
|
||||
|
|
@ -1593,9 +1539,7 @@ fragment PerformerFragment on Performer {
|
|||
images {
|
||||
... ImageFragment
|
||||
}
|
||||
birthdate {
|
||||
... FuzzyDateFragment
|
||||
}
|
||||
birth_date
|
||||
ethnicity
|
||||
country
|
||||
eye_color
|
||||
|
|
@ -1614,10 +1558,6 @@ fragment PerformerFragment on Performer {
|
|||
... BodyModificationFragment
|
||||
}
|
||||
}
|
||||
fragment FuzzyDateFragment on FuzzyDate {
|
||||
date
|
||||
accuracy
|
||||
}
|
||||
fragment MeasurementsFragment on Measurements {
|
||||
band_size
|
||||
cup_size
|
||||
|
|
|
|||
|
|
@ -648,9 +648,8 @@ func performerFragmentToScrapedPerformer(p graphql.PerformerFragment) *models.Sc
|
|||
sp.Height = &hs
|
||||
}
|
||||
|
||||
if p.Birthdate != nil {
|
||||
b := p.Birthdate.Date
|
||||
sp.Birthdate = &b
|
||||
if p.BirthDate != nil {
|
||||
sp.Birthdate = padFuzzyDate(p.BirthDate)
|
||||
}
|
||||
|
||||
if p.Gender != nil {
|
||||
|
|
@ -1356,3 +1355,20 @@ func (c *Client) submitDraft(ctx context.Context, query string, input interface{
|
|||
|
||||
return err
|
||||
}
|
||||
|
||||
func padFuzzyDate(date *string) *string {
|
||||
if date == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
var paddedDate string
|
||||
switch len(*date) {
|
||||
case 10:
|
||||
paddedDate = *date
|
||||
case 7:
|
||||
paddedDate = fmt.Sprintf("%s-01", *date)
|
||||
case 4:
|
||||
paddedDate = fmt.Sprintf("%s-01-01", *date)
|
||||
}
|
||||
return &paddedDate
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue