diff --git a/src/providers/rule34video.rs b/src/providers/rule34video.rs index 85920bb..4305b8a 100644 --- a/src/providers/rule34video.rs +++ b/src/providers/rule34video.rs @@ -216,11 +216,13 @@ impl Rule34videoProvider { if slug.is_empty() { return (Target::Search(query.trim().to_string()), true); } - let candidates = [ - Target::Artist(slug.clone()), - Target::Category(slug.clone()), - Target::Tag(slug), - ]; + // Artist slugs are inconsistent on the site: "general-butch" but "biggreen". + let mut candidates = vec![Target::Artist(slug.clone())]; + if slug.contains('-') { + candidates.push(Target::Artist(slug.replace('-', ""))); + } + candidates.push(Target::Category(slug.clone())); + candidates.push(Target::Tag(slug)); let mut requester = requester_or_default(options, "rule34video", "resolve_keyword"); let referer = format!("{}/", self.url); let mut conclusive = true;