From 25871839a2885f5479bdd7efd2e78ca0aa1a7e09 Mon Sep 17 00:00:00 2001 From: Přemysl Eric Janouch Date: Fri, 1 Oct 2021 11:37:50 +0200 Subject: Add thumbnail cache inspection tools --- tools/clean-up-thumbnail-cache.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100755 tools/clean-up-thumbnail-cache.sh (limited to 'tools/clean-up-thumbnail-cache.sh') diff --git a/tools/clean-up-thumbnail-cache.sh b/tools/clean-up-thumbnail-cache.sh new file mode 100755 index 0000000..490e317 --- /dev/null +++ b/tools/clean-up-thumbnail-cache.sh @@ -0,0 +1,15 @@ +#!/bin/sh -e +# Remove thumbnails with URIs pointing to at this moment non-existing files. +make pnginfo + +pnginfo=$(pwd)/pnginfo cache_home=${XDG_CACHE_HOME:-$HOME/.cache} +for size in normal large x-large xx-large; do + cd "$cache_home/thumbnails/$size" 2>/dev/null || continue + find . -name '*.png' -print0 | PNGINFO_SKIP_TRAILING=1 xargs -0 "$pnginfo" \ + | jq -r '.info.texts."Thumb::URI"' | grep '^file://' \ + | grep -v '^file:///run/media/[^/]*/NIKON/' \ + | perl -MURI -MURI::Escape -MDigest::MD5 -lne \ + 'print Digest::MD5->new()->add($_)->hexdigest . ".png" + if !stat(uri_unescape(URI->new($_)->path))' \ + | xargs rm +done -- cgit v1.2.3-70-g09d2