1 [ "${taggery_name}" -a "${taggery_fmturl}" -a "${taggery_image_url_filter}" -a "${taggery_image_tags_filter}" ] || {
4 Copyright - http://wiki.cyberleo.net/wiki/CyberLeo/COPYRIGHT?version=4
6 Set the following variables before sourcing this library:
8 taggery_name - A string token to use when formatting things
9 taggery_fmturl - A printf-compatible format string that will
10 transform an ID into the URL of a 'view' page
11 taggery_image_url_filter - A program or function that takes a webpage on
12 stdin and provides on stdout the URL to the raw
13 image to be downloaded.
14 taggery_image_tags_filter - A program or function that takes a webpage on
15 stdin and provides on stdout a list of newline-
20 taggery_fmturl="http://e621.net/post/show/%s"
21 taggery_fmturl="http://gelbooru.com/index.php?page=post&s=view&id=%s"
24 e621_image_url_filter() { sed -e '...'; }
25 taggery_image_url_filter="e621_image_url_filter"
32 local cleanup="$(kvs_get clean up)"
38 taggery_free_page "${id}"
43 trap "taggery_cleanup" EXIT HUP INT TERM KILL
45 taggery_register_cleanup() {
46 [ "${1}" ] || return 1
48 kvs_set clean up "$(kvs_get clean up) ${id}"
52 [ "${1}" ] || return 1
54 kvs_set "${id}" tmp "$(mktemp --tmpdir ".taggery_${id}.XXXXXXXX")"
55 kvs_set "${id}" url "$(printf "${taggery_fmturl}" "${id}")"
56 taggery_register_cleanup "${id}"
60 [ "${1}" ] || return 1
62 local tmp="$(kvs_get "${id}" tmp)"
63 [ -f "${tmp}" -a "${tmp%%_*}" = ".taggery" ] && rm -f "${tmp}"
68 [ "${1}" ] || return 1
70 kvs_has_id "${id}" || taggery_init_page "${id}"
71 local url="$(kvs_get "${id}" url)"
72 local tmp="$(kvs_get "${id}" tmp)"
73 wget -qO "${tmp}" "${url}"
77 [ "${1}" ] || return 1
79 kvs_has_id "${id}" || taggery_init_page "${id}"
80 local tmp="$(kvs_get "${id}" tmp)"
81 [ -s "${tmp}" ] || taggery_fetch "${id}"
86 [ "${1}" ] || return 1
88 taggery_page "${id}" | "${taggery_image_url_filter}"
91 taggery_image_tags() {
92 [ "${1}" ] || return 1
94 echo "$(basename "${taggery_profile}")"
95 taggery_page "${id}" | "${taggery_image_tags_filter}"