mirror of
https://github.com/stashapp/stash.git
synced 2025-12-16 20:07:05 +03:00
Fix scraping stash-box performers with null birthdates (#5428)
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user