61 lines
2.1 KiB
Bash
61 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
# doc cmd_import_images {
|
|
#
|
|
# DESCRIPTION
|
|
# cmd_import_images - Imports CD images into GIT_DIR
|
|
#
|
|
# USAGE
|
|
# cmd_import_images </path/to/image/folder> [<...>]
|
|
#
|
|
# DEPENDENCIES src/import_images
|
|
#
|
|
# }
|
|
|
|
cmd_import_images() {
|
|
local GIT_DIR="${1}"
|
|
local SOURCE="${2}"; shift 2
|
|
local dirList=("${@}")
|
|
|
|
for dir in ${dirList[@]}; do
|
|
folderList=($(find "${dir}" -name '*.cue' -printf '%h\n' | awk '!seen[$0]++'))
|
|
|
|
# Consolidating all detected images
|
|
for folder in ${folderList[@]}; do
|
|
_msg EXEC "Consolidating ${folder}"
|
|
local fileList=($(find "${folder}" \( -name '*.flac' -o -name '*.cue' -o -name '*.accurip' -o -name '*.log' -o -name '*.jpg' -o -name '*.png' \) ))
|
|
for ext in flac cue accurip log jpg; do
|
|
local fileList=($(find "${folder}" -name "*.${ext}"))
|
|
[[ ${#fileList[@]} -gt 1 ]] && return 1
|
|
case ${ext} in
|
|
flac)
|
|
local IMG="${fileList}"
|
|
[[ -z "${IMG}" ]] && return 2
|
|
;;
|
|
|
|
cue)
|
|
local CUE="${fileList}"
|
|
[[ -z "${CUE}" ]] && return 2
|
|
;;
|
|
|
|
(accurip) local ACCURIP="-a \"${fileList}\"" ;;
|
|
(log) local LOG="-l \"${fileList}\"" ;;
|
|
(jpg) local COVER="-c \"${fileList}\"" ;;
|
|
esac
|
|
done
|
|
import_images "${GIT_DIR}" "${SOURCE}" "${IMG}" "${CUE}" ${ACCURIP} ${LOG} ${JPG}
|
|
local EXIT=$?
|
|
[[ ${EXIT} -eq 0 ]] _msg OK || _msg WARN "Import_images exited with code ${EXIT}"
|
|
done
|
|
|
|
|
|
# Import folders
|
|
local importList=($(find ${GIT_DIR}/.import/${SOURCE}/ -mindepth 1 -maxdepth 1 -type d -printf '%p\t'))
|
|
for import in ${importList[@]}; do
|
|
_msg EXEC "Importing ${import}"
|
|
import_src "${GIT_DIR}" "${import}"
|
|
local EXIT=$?
|
|
[[ ${EXIT} -eq 0 ]] _msg OK || _msg WARN "import_src exited with code ${EXIT}"
|
|
done
|
|
done
|
|
}
|