From 9895a91ff0e8c05dce0e17f4ea9a1a8edd565bb5 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Mon, 4 Mar 2013 12:41:10 -0600 Subject: [PATCH] Rudimentary pool support --- .gitignore | 2 ++ fetch | 46 +++++++++++++++++++++++++++++++++++++--------- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 3e7eb75..60f36bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .*.kvdb md5/* tag/* +pool/* +tmp/* diff --git a/fetch b/fetch index 2fd16c5..74d49d6 100755 --- a/fetch +++ b/fetch @@ -13,6 +13,16 @@ EOF exit 1 } +while getopts p:i: OPT +do + case "${OPT}" in + p) pool="${OPTARG}" ;; + i) indx="${OPTARG}" ;; + ?) pebkac ;; + esac +done +shift $(( $OPTIND - 1 )) + [ "${*}" ] || pebkac id="${1}" [ -z "$(echo "${id}" | tr -d '[0-9]')" ] || pebkac "ID should be an integer" @@ -43,12 +53,30 @@ tags="$(image_tags "${id}")" [ "${file}" -a "${tags}" ] || { echo "Nothing found!"; kill $$; exit 1; } name="$(basename "${file}")" -[ ! -e "md5/${name}" ] || { echo "Filename md5/${name} already exists!"; kill $$; exit 1; } -wget -O "md5/${name}" "${file}" -for tag in ${tags} -do - echo ${tag} - tag="$(echo "${tag}" | sed -e 's/\//%47/g; s/[\]/\\&/g')" - mkdir -p "tag/${tag}" - ln -sf "../../md5/${name}" "tag/${tag}/" -done +extn="${name#*.}" + +if [ -e "md5/${name}" ] +then + echo "Filename md5/${name} already exists" +else + wget -O "md5/${name}" "${file}" + for tag in ${tags} + do + echo ${tag} + tag="$(echo "${tag}" | sed -e 's/\//%47/g; s/[\]/\\&/g')" + mkdir -p "tag/${tag}" + ln -sf "../../md5/${name}" "tag/${tag}/" + done +fi + +# Even if we didn't download it, try to link it into the pool +[ "${pool}" ] && { + plnm="pool/${pool}/${indx}.${extn}" + if [ -e "${plnm}" ] + then + echo "Filename ${plnm} already exists" + else + mkdir -p "pool/${pool}" + ln -svf "../../md5/${name}" "${plnm}" + fi +} -- 2.45.0