#----------------------------------------------------------------------------------------------------------------------------------- # ISL: Image Stack Log #----------------------------------------------------------------------------------------------------------------------------------- # Global Variable #----------------------------------------------------------------------------------------------------------------------------------- export ISL_FILE=/etc/img_stack_log # ISL Add #----------------------------------------------------------------------------------------------------------------------------------- isl_add() { url="$1" reg=${url%%/*} if [[ "${reg}" == *.* ]] then url=${url#*/} else reg="-" fi tag=${url/*:} name=${url%:*} if [[ "${tag}" == "${name}" ]] then echo "Bad tag format in URL!" return 1 fi ts=$(date -u +"%Y/%m/%d %H:%M:%S") if [[ ! -e ${ISL_FILE} ]] then id=1 else id=$(( $(wc -l <${ISL_FILE}) + 1)) fi str="${id} ${ts} ${reg} ${name} ${tag}" if [[ $id == "1" ]] then echo "${str}" >${ISL_FILE} else sed -i '1i\'"${str}" ${ISL_FILE} fi } export -f isl_add # ISL Top #----------------------------------------------------------------------------------------------------------------------------------- isl_top() { line=$( head -1 ${ISL_FILE}) if [[ "$1" == "-i" ]] then set ${line} echo "$5:$6" else echo "${line}" fi } export -f isl_top # ISL Cat #----------------------------------------------------------------------------------------------------------------------------------- isl_cat() { if [[ "$1" == "-r" ]] then tac ${ISL_FILE} else cat ${ISL_FILE} fi } export -f isl_cat # ISL HTML Dump #----------------------------------------------------------------------------------------------------------------------------------- isl_html_dump() { r_flag="" i_flag="" while [[ $# -gt 0 ]] do if [[ "$1" == "-r" ]] then r_flag="$1" else if [[ "$1" == "-i" ]] then i_flag="-i" fi fi shift done i=1 isl_cat "${r_flag}" | while read line do set $line if [[ $(( $i % 2)) -eq 0 ]] then print "${i_flag}" ' ' else print "${i_flag}" " " fi j=1 while [[ $j -lt 7 ]] do if [[ "$j" == "1" ]] then print "${i_flag}" " ${!j}" else print "${i_flag}" " ${!j}" fi j=$(( $j + 1)) done print "${i_flag}" " " i=$(( $i + 1)) done } export -f isl_html_dump