#!/bin/bash PROGNAME=${0##*/} DDG_IMAGE_DOWNLOADER_CMD=~/ddg-image-downloader INPUT_MOVIE_FILES=( /scratch/alexis/rips/* ) main() { for INPUT_MOVIE_FILE in "${INPUT_MOVIE_FILES[@]}"; do [[ $INPUT_MOVIE_FILE =~ (.*)/(((.*)\ \((....)\))\....)$ ]] || miniade_error "$INPUT_MOVIE_FILE: can't parse" DIRNAME=${BASH_REMATCH[1]} FILENAME=${BASH_REMATCH[2]} TITLE_WITH_YEAR=${BASH_REMATCH[3]} TITLE=${BASH_REMATCH[4]} YEAR=${BASH_REMATCH[5]} if [ -f "$TITLE_WITH_YEAR.png" ]; then miniade_info "$TITLE_WITH_YEAR: have image already; skipping ..." continue fi SEARCHES=( "\"$TITLE_WITH_YEAR\" film poster" "\"$TITLE\" film poster" "\"$TITLE_WITH_YEAR\" film" "\"$TITLE\" film" "\"$TITLE_WITH_YEAR\"" "\"$TITLE\"" ) GOT_IMAGE_FLAG=false OLD_PWD=$(pwd) mkdir /tmp/$PROGNAME.$$ cd /tmp/$PROGNAME.$$ for SEARCH in "${SEARCHES[@]}"; do miniade_debug 10 "main: $TITLE: trying $SEARCH ..." $DDG_IMAGE_DOWNLOADER_CMD "$SEARCH" if ls *.jpg > /dev/null 2>&1; then convert *.jpg "$OLD_PWD/$TITLE_WITH_YEAR.png" || true GOT_IMAGE_FLAG=true break fi done if ! $GOT_IMAGE_FLAG; then miniade_warning "$FILENAME: failed to find a suitable image" fi cd "$OLD_PWD" rm -fr /tmp/$PROGNAME.$$ done } main "$@"