Files
HDB/sql/get_artist_name.sql
2024-11-01 16:09:16 +01:00

26 lines
836 B
PL/PgSQL

CREATE OR REPLACE FUNCTION get_artist_name(in_url text) RETURNS text AS $$
DECLARE
artist_name text;
BEGIN
in_url = trim(in_url);
IF regexp_like(in_url, 'rule34\.xxx') THEN
artist_name = substring(in_url from 52);
ELSIF regexp_like(in_url, 'allthefallen\.moe') THEN
artist_name = substring(in_url from 43);
ELSIF regexp_like(in_url, 'e621\.net') THEN
artist_name = substring(in_url from 29);
ELSIF regexp_like(in_url, 'gelbooru\.com') THEN
artist_name = substring(in_url from 54);
ELSIF regexp_like(in_url, 'hypnohub\.net') THEN
artist_name = substring(in_url from 54);
ELSIF regexp_like(in_url, 'konachan\.com') THEN
artist_name = substring(in_url from 32);
ELSE
RAISE EXCEPTION 'Cannot extract usable artist_name from url: %', in_url;
END IF;
RETURN artist_name;
END;
$$ LANGUAGE plpgsql IMMUTABLE STRICT;