From 300ffb8cb698efadd3f34cbfc729181fa338b3b1 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Tue, 3 Mar 2020 19:25:30 -0600 Subject: [PATCH] Add rule34xxx and atfbooru profiles --- lib/profiles/atfbooru.sh | 17 +++++++++++++++++ lib/profiles/rule34xxx.sh | 23 +++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 lib/profiles/atfbooru.sh create mode 100644 lib/profiles/rule34xxx.sh diff --git a/lib/profiles/atfbooru.sh b/lib/profiles/atfbooru.sh new file mode 100644 index 0000000..33bede4 --- /dev/null +++ b/lib/profiles/atfbooru.sh @@ -0,0 +1,17 @@ +atfbooru_can_handle() { + local url="${1}" + echo "${url}" | grep -qi 'booru.allthefallen.moe/posts/[0-9]*' || return 1 + taggery_id_filter=atfbooru_id_filter + taggery_fmturl="https://booru.allthefallen.moe/posts/%s" + taggery_image_url_filter=atfbooru_image_url_filter + taggery_image_tags_filter=atfbooru_image_tags_filter +} +atfbooru_id_filter() { + sed -e 's#^.*/posts/\([0-9]\+\)\($\|/.*$\)#\1#' +} +atfbooru_image_url_filter() { + sed -e '/Size: /!d; s/^.*/&\n/g' | sed -e '/class="search-tag/!d; s/\([^?]\)<\/a>.*$/\1/; s/^.*>//; s/ /_/g' +} diff --git a/lib/profiles/rule34xxx.sh b/lib/profiles/rule34xxx.sh new file mode 100644 index 0000000..b3e7ed2 --- /dev/null +++ b/lib/profiles/rule34xxx.sh @@ -0,0 +1,23 @@ +rule34xxx_can_handle() { + local url="${1}" + echo "${url}" | grep -qi 'rule34.xxx/index.php?page=post&s=view&id=[0-9]*' || return 1 + taggery_id_filter=rule34xxx_id_filter + taggery_fmturl="https://rule34.xxx/index.php?page=post&s=view&id=%s" + taggery_image_name_filter=rule34xxx_image_name_filter + taggery_image_url_filter=rule34xxx_image_url_filter + taggery_image_tags_filter=rule34xxx_image_tags_filter +} +rule34xxx_id_filter() { + sed -e 's#^.*id=\([0-9]\+\)\($\|&.*$\)#\1#' +} +rule34xxx_image_url_filter() { + sed -e '/>Original imageOriginal image.*//i; s/^.*/!d; /href=".*tags=/!d; s/<[^>]*>//g; s/ /_/g' +} +rule34xxx_image_name_filter() { + local id="${1}" + local image_url="${2}" + basename "${image_url}" +} -- 2.42.0