Skip to content
Snippets Groups Projects
Select Git revision
  • f4eb867ae34a9d726511633f6dfc924bcc681c05
  • master default protected
  • 47-upgrade-framework-and-dependencies
  • 21-improve-app-metadata
  • Release_0.9.0_40 protected
  • Release_0.8.2_39 protected
  • Release_0.8.1_38 protected
  • Release_0.8.0_37 protected
  • Release_0.7.0_36 protected
  • Release_0.6.0_35 protected
  • Release_0.5.0_34 protected
  • Release_0.4.2_33 protected
  • Release_0.4.1_32 protected
  • Release_0.4.0_31 protected
  • Release_0.3.1_30 protected
  • Release_0.3.0_29 protected
  • Release_0.2.1_28 protected
  • Release_0.2.0_27 protected
  • Release_0.1.2_26 protected
  • Release_0.1.1_25 protected
  • Release_0.1.0_24 protected
  • Release_0.0.23_23 protected
  • Release_0.0.22_22 protected
  • Release_0.0.21_21 protected
24 results

button_game_start_new.dart

Blame
  • 01_download_images.sh 2.80 KiB
    #!/usr/bin/env bash
    
    command -v convert >/dev/null 2>&1 || { echo >&2 "I require convert (imagemagick) but it's not installed. Aborting."; exit 1; }
    command -v jq >/dev/null 2>&1 || { echo >&2 "I require jq (json parser) but it's not installed. Aborting."; exit 1; }
    
    CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
    BASE_DIR="$(dirname "${CURRENT_DIR}")"
    
    IMAGES_CACHE_FOLDER="${CURRENT_DIR}/cache/download"
    INPUT_WORDS_LIST="${BASE_DIR}/assets/files/words-fr.json"
    
    # Images variants
    KEYWORD_VARIANTS=",image,picture,drawing,black and white,painting,icon"
    COUNT_BY_WEYWORD_VARIANT=3
    KEYWORD_VARIANTS_LIST="$(echo "${KEYWORD_VARIANTS}" | tr "," "\n")"
    
    # QWANT parameters
    LANG="fr_FR"
    TYPE="images"
    OFFSET=0
    BASE_URL="https://api.qwant.com/api/search/${TYPE}"
    
    WORDS_LIST="$(cat "${INPUT_WORDS_LIST}" | grep -E '\"[A-Z\-]+\",$' | cut -d'"' -f2 | sort | uniq | sort -R)"
    while read -r KEYWORD; do
      if [[ -n "${KEYWORD}" ]]; then
        echo "KEYWORD: ${KEYWORD}"
    
        while read -r VARIANT; do
          echo " VARIANT: ${VARIANT}"
    
          QUERY_STRING="${KEYWORD}"
          if [[ ! -z "${VARIANT}" ]]; then
            QUERY_STRING="${QUERY_STRING} ${VARIANT}"
          fi
    
          # Get QWANT API query from keyword
          QUERY="$(echo "${QUERY_STRING}" | tr "A-Z" "a-z" | sed 's| |%20|g')"
          QUERY_URL="${BASE_URL}?count=${COUNT_BY_WEYWORD_VARIANT}&q=${QUERY}&t=${TYPE}&safesearch=1&offset=${OFFSET}&locale=${LANG}&uiv=4"
    
          # Get QWANT thumbnails urls from keyword
          URL_LIST="$(curl "${QUERY_URL}" \
              --silent \
              -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101 Firefox/87.0' \
              --compressed \
              | jq | grep "media_preview" | cut -d'"' -f4 | sed 's|^//||g')"
    
          while read -r URL; do
            if [[ -n "${URL}" ]]; then
              HASH="$(echo "${URL}" | md5sum | awk '{print $1}')"
    
              OUTPUT_FILE="${IMAGES_CACHE_FOLDER}/${KEYWORD}/${HASH}.png"
              echo "  OUTPUT_FILE: $(echo "${OUTPUT_FILE}" | sed "s|^${IMAGES_CACHE_FOLDER}/||g")"
    
              TMP_IMAGE_FILE="${OUTPUT_FILE}.tmp.png"
              if [[ -f "${TMP_IMAGE_FILE}" ]]; then
                rm -f "${TMP_IMAGE_FILE}"
              fi
    
              if [[ -f "${OUTPUT_FILE}" ]]; then
                echo "   - Already downloaded"
              else
                mkdir -p "$(dirname ${OUTPUT_FILE})"
    
                echo "   + Downloading..."
                wget --quiet --timeout=10 "${URL}" -O "${TMP_IMAGE_FILE}"
                if [[ -f "${TMP_IMAGE_FILE}" ]]; then
                  echo "   + Converting..."
                  convert "${TMP_IMAGE_FILE}" "${OUTPUT_FILE}"
                fi
    
                if [[ -f "${TMP_IMAGE_FILE}" ]]; then
                  rm -f "${TMP_IMAGE_FILE}"
                fi
              fi
            fi
          done < <(echo "${URL_LIST}")
        done < <(echo "${KEYWORD_VARIANTS_LIST}")
      fi
    done < <(echo "${WORDS_LIST}")