164 lines
2.9 KiB
Bash
164 lines
2.9 KiB
Bash
#-----------------------------------------------------------------------------------------------------------------------------------
|
|
# 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}" ' <tr class="shade">'
|
|
else
|
|
print "${i_flag}" " <tr>"
|
|
fi
|
|
|
|
j=1
|
|
while [[ $j -lt 7 ]]
|
|
do
|
|
if [[ "$j" == "1" ]]
|
|
then
|
|
print "${i_flag}" " <th>${!j}</th>"
|
|
else
|
|
print "${i_flag}" " <td>${!j}</td>"
|
|
fi
|
|
|
|
j=$(( $j + 1))
|
|
done
|
|
|
|
print "${i_flag}" " </tr>"
|
|
i=$(( $i + 1))
|
|
done
|
|
}
|
|
|
|
export -f isl_html_dump
|