stashapp / stash

An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc
https://stashapp.cc/
GNU Affero General Public License v3.0
9.26k stars 794 forks source link

[RFC] URLs array for performers #3158

Closed xx790 closed 1 year ago

xx790 commented 1 year ago

URLs array for performers

Scope

Currently a performer profile can only contain a single URL + Twitter + Instagram. There is no other way to have clickable links in profile as well. This is very inflexible and doesn't reflect performers online presence well. Stash should be able to collect any links from scrappers.

Long Form

Having specific fields in the database for each website would be a futile effort. Not being able to store some of them puts the limit on the usefulness of the performer profile. Having a markdown or at least a limited markup in the description field would allow to circumvent the issue but would not allow to extract links information easily when needed (for example, in order to update information from scrapers).

Scrapers should be able to provide URLs array with any number of entries. Performer profile will accumulate unique urls.

Urls stored in performer profile should be available for scraping if corresponding scraper is available.

Backwards compatibility: When legacy code provides URL, Twitter, Instagram fields - they can be added to URLs list if not existed there already. When providing objects to legacy code - Twitter url, Instagram url and the first url can be extracted from the URLS list and set as legacy fields.

Examples

Some links for a single random performer:

https://www.s1s1s1.com/actress/detail/1016835/
https://www.freeones.com/ayami-syunka
https://www.javlibrary.com/en/vl_star.php?s=azbay
https://www.boobpedia.com/boobs/Shunka_Ayami
https://www.babepedia.com/babe/Syunka_Ayami
https://www.imdb.com/name/nm7714883
https://www.reddit.com/r/ShunkaAyami/
https://jpop.fandom.com/wiki/Ayami_Shunka
https://syunka-ayami.blog.jp/
https://twitter.com/ayami_syunnka
https://instagram.com/ayami_syunnka0815

Reference Reading

7dJx1qP commented 1 year ago

There's an open feature request for multiple performer URLs https://github.com/stashapp/stash/issues/703 and it is planned for v0.19.0

xx790 commented 1 year ago

Hmm. Sad that solution seems incomplete (doesn't make it unified with existing fields - I don't want to manage "main" url, Twitter, Instagram - I want them to be automatically migrated into the new system). And I can't see whether it will work nice with scrapers.

Update: I now realized the PR was closed. I hope the final solution will be more elegant.

"Additional URLs" would be a very inelegant, causing complications down the line - harder merging of performer profiles (#1351) or scrapper results.

It will be easier to make all urls equal and provide backwards compatible endpoints where necessary than dealing with different types of urls.

WithoutPants commented 1 year ago

Duplicate of #703. Design/implementation yet to be finalised.