From a0d6365c61651fe338b324a27d5a35623095ddc2 Mon Sep 17 00:00:00 2001 From: wiz Date: Fri, 27 Mar 2020 08:33:08 +0900 Subject: [PATCH] Fix sitemap generation lastmod timestamp --- sitemap | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/sitemap b/sitemap index a1cc94068..8bf1921d2 100755 --- a/sitemap +++ b/sitemap @@ -1,11 +1,10 @@ #!/usr/bin/env zsh BLOCK_TIP_HEIGHT="$(curl -s https://mempool.space/electrs/mainnet/blocks/tip/height)" BLOCK_HEIGHT=0 -BLOCK_PER_FILE=1000 +BLOCK_PER_FILE=144 FILE_TOTAL="$(($BLOCK_TIP_HEIGHT / $BLOCK_PER_FILE))" -FILE_START="$(($FILE_TOTAL - 10))" -FILE_START=0 # initial index +FILE_START=1 FILE_STOP="${FILE_TOTAL}" FILE="${FILE_START}" @@ -24,32 +23,35 @@ BLOCK_TIMESTAMP=$(echo "${BLOCK}"|sed -e 's/.*timestamp.://' -e 's/,.*//') SITEMAP_FILE=$(printf "sitemap-%05d.xml" "${FILE}") SITEMAP_LASTMOD=$(date -r "${BLOCK_TIMESTAMP}" +"%Y-%m-%dT%H:%M:%SZ") -echo "generating ${SITEMAP_FILE} from block ${BLOCK_HEIGHT}" -echo '' > "${SITEMAP_FILE}" +if [ ! -f "${SITEMAP_FILE}.gz" ] || [ "${BLOCK_HEIGHT}" -gt $(($BLOCK_TIP_HEIGHT - 2000)) ];then -BLOCK_STOP="$(($BLOCK_HEIGHT + ${BLOCK_PER_FILE}))" -until [ "${BLOCK_HEIGHT}" = "${BLOCK_STOP}" ];do + BLOCK_STOP="$(($BLOCK_HEIGHT - ${BLOCK_PER_FILE}))" + echo "generating ${SITEMAP_FILE} for block ${BLOCK_STOP} ~ ${BLOCK_HEIGHT}" - BLOCK_HASH=$(curl -s https://mempool.space/electrs/mainnet/block-height/${BLOCK_HEIGHT}) - BLOCK=$(curl -s https://mempool.space/electrs/mainnet/block/${BLOCK_HASH}) - BLOCK_TIMESTAMP=$(echo "${BLOCK}"|sed -e 's/.*timestamp.://' -e 's/,.*//') - BLOCK_LASTMOD=$(date -r "${BLOCK_TIMESTAMP}" +"%Y-%m-%dT%H:%M:%SZ") + echo '' > "${SITEMAP_FILE}" - echo '' >> "${SITEMAP_FILE}" - echo "https://mempool.space/block/${BLOCK_HASH}" >> "${SITEMAP_FILE}" - echo "${BLOCK_LASTMOD}" >> "${SITEMAP_FILE}" - echo '' >> "${SITEMAP_FILE}" + until [ "${BLOCK_HEIGHT}" = "${BLOCK_STOP}" ];do - ((BLOCK_HEIGHT++)) -done + BLOCK_HASH=$(curl -s https://mempool.space/electrs/mainnet/block-height/${BLOCK_HEIGHT}) + BLOCK=$(curl -s https://mempool.space/electrs/mainnet/block/${BLOCK_HASH}) + BLOCK_TIMESTAMP=$(echo "${BLOCK}"|sed -e 's/.*timestamp.://' -e 's/,.*//') + BLOCK_LASTMOD=$(date -r "${BLOCK_TIMESTAMP}" +"%Y-%m-%dT%H:%M:%SZ") -echo '' >> "${SITEMAP_FILE}" -gzip -f "${SITEMAP_FILE}" -SITEMAP_FILE="${SITEMAP_FILE}.gz" + echo '' >> "${SITEMAP_FILE}" + echo "https://mempool.space/block/${BLOCK_HASH}" >> "${SITEMAP_FILE}" + echo "${BLOCK_LASTMOD}" >> "${SITEMAP_FILE}" + echo '' >> "${SITEMAP_FILE}" + + ((BLOCK_HEIGHT--)) + done + + echo '' >> "${SITEMAP_FILE}" + gzip -f "${SITEMAP_FILE}" +fi echo '' >> sitemap.xml -echo "https://mempool.space/${SITEMAP_FILE}" >> sitemap.xml +echo "https://mempool.space/${SITEMAP_FILE}.gz" >> sitemap.xml echo "${SITEMAP_LASTMOD}" >> sitemap.xml echo '' >> sitemap.xml