1
0
mirror of https://github.com/mikf/gallery-dl.git synced 2024-11-22 02:32:33 +01:00

[artstation] fix handling usernames with dashes

This commit is contained in:
blankie 2024-02-21 17:39:37 +11:00
parent 741fd00cec
commit 962f55cc68
No known key found for this signature in database
GPG Key ID: CC15FC822C7F61F5
2 changed files with 24 additions and 3 deletions

View File

@ -175,7 +175,7 @@ class ArtstationUserExtractor(ArtstationExtractor):
subcategory = "user"
pattern = (r"(?:https?://)?(?:(?:www\.)?artstation\.com"
r"/(?!artwork|projects|search)([^/?#]+)(?:/albums/all)?"
r"|((?!www)\w+)\.artstation\.com(?:/projects)?)/?$")
r"|((?!www)[\w-]+)\.artstation\.com(?:/projects)?)/?$")
example = "https://www.artstation.com/USER"
def projects(self):
@ -192,7 +192,7 @@ class ArtstationAlbumExtractor(ArtstationExtractor):
archive_fmt = "a_{album[id]}_{asset[id]}"
pattern = (r"(?:https?://)?(?:(?:www\.)?artstation\.com"
r"/(?!artwork|projects|search)([^/?#]+)"
r"|((?!www)\w+)\.artstation\.com)/albums/(\d+)")
r"|((?!www)[\w-]+)\.artstation\.com)/albums/(\d+)")
example = "https://www.artstation.com/USER/albums/12345"
def __init__(self, match):
@ -355,7 +355,7 @@ class ArtstationImageExtractor(ArtstationExtractor):
"""Extractor for images from a single artstation project"""
subcategory = "image"
pattern = (r"(?:https?://)?(?:"
r"(?:\w+\.)?artstation\.com/(?:artwork|projects|search)"
r"(?:[\w-]+\.)?artstation\.com/(?:artwork|projects|search)"
r"|artstn\.co/p)/(\w+)")
example = "https://www.artstation.com/artwork/abcde"

View File

@ -157,4 +157,25 @@ __tests__ = (
"#count" : ">= 40",
},
{
"#url" : "https://fede-x-rojas.artstation.com/projects/WBdaZy",
"#comment" : "dash in username",
"#category": ("", "artstation", "image"),
"#class" : artstation.ArtstationImageExtractor,
},
{
"#url" : "https://fede-x-rojas.artstation.com/albums/8533110",
"#comment" : "dash in username",
"#category": ("", "artstation", "album"),
"#class" : artstation.ArtstationAlbumExtractor,
},
{
"#url" : "https://fede-x-rojas.artstation.com/",
"#comment" : "dash in username",
"#category": ("", "artstation", "user"),
"#class" : artstation.ArtstationUserExtractor,
},
)