Posted on 2012-03-09 18:52
Onway 閱讀(497)
評論(1) 編輯 收藏 引用 所屬分類:
碼兒快跑
/Files/Onway/free-rooms.bash.txt#!/bin/bash
# 查詢學校空閑的教室
# 原理:空閑的教室 = 整個學期開課的課室 - 查詢時間開課的課室
# 如果服務器查詢參數不變,一個學期只需更新一次
# good good study , day day up !
# Onway 2012-03-09 aluohuai@126.com
roomline=10
rooms="黃浩川教學樓101 黃浩川教學樓102 黃浩川教學樓103 黃浩川教學樓104 黃浩川教學樓201 黃浩川教學樓202 黃浩川教學樓203 黃浩川教學樓204 黃浩川教學樓301 黃浩川教學樓302 黃浩川教學樓303 黃浩川教學樓304 黃浩川教學樓401 黃浩川教學樓402 黃浩川教學樓403 黃浩川教學樓404 黃浩川教學樓501 黃浩川教學樓502 黃浩川教學樓503 黃浩川教學樓504 黃浩川樓101 黃浩川樓102 黃浩川樓104 黃浩川樓105 黃浩川樓209 黃浩川樓303 黃浩川樓304 黃浩川樓305 黃浩川樓402 黃浩川樓403 黃浩川樓404 黃浩川樓405 繼續教育學院101 繼續教育學院103 繼續教育學院201 繼續教育學院203 繼續教育學院205 繼續教育學院206 繼續教育學院301 繼續教育學院303 繼續教育學院306 繼續教育學院403 繼續教育學院405 繼續教育學院407 繼續教育學院505 黎耀華樓108 黎耀華樓212 黎耀華樓306 黎耀華樓313 黎耀華樓402 黎耀球樓301 陸佑圖書館301 陸佑圖書館302 馬蘭芳教學樓101 馬蘭芳教學樓102 馬蘭芳教學樓103 馬蘭芳教學樓104 馬蘭芳教學樓201 馬蘭芳教學樓202 馬蘭芳教學樓203 馬蘭芳教學樓204 馬蘭芳教學樓301 馬蘭芳教學樓302 馬蘭芳教學樓303 馬蘭芳教學樓304 馬蘭芳教學樓401 馬蘭芳教學樓402 馬蘭芳教學樓403 馬蘭芳教學樓404 馬蘭芳教學樓501 馬蘭芳教學樓502 馬蘭芳教學樓503 馬蘭芳教學樓504 體育館101 體育館102 體育館103 體育館104 體育館105 體育館106 體育館107 體育館108 體育館109 體育館110 體育館111 體育館131 體育館132 體育館133 體育館135 體育館136 體育館137 體育館138 體育館139 體育館140 新會樓404 主樓101 主樓201 主樓202 主樓212 主樓213 主樓239 主樓240 主樓249 主樓250 主樓356 主樓401 主樓402 主樓405 主樓406 主樓417 主樓418 主樓421 主樓422 主樓423 主樓427 主樓429 主樓439 主樓441 主樓445 主樓457 主樓458 主樓470 主樓473 主樓501 主樓505 主樓524 主樓525 主樓533 主樓539 主樓541 主樓543 主樓545 主樓549 主樓552 主樓554 主樓556 主樓559 主樓560 主樓562 主樓575 綜合實驗大樓103 綜合實驗大樓201 綜合實驗大樓202 綜合實驗大樓203 綜合實驗大樓204 綜合實驗大樓205 綜合實驗大樓206 綜合實驗大樓212 綜合實驗大樓213 綜合實驗大樓214 綜合實驗大樓302 綜合實驗大樓303 綜合實驗大樓305 綜合實驗大樓306 綜合實驗大樓307 綜合實驗大樓310 綜合實驗大樓402 綜合實驗大樓403 綜合實驗大樓404 綜合實驗大樓405 綜合實驗大樓406 綜合實驗大樓407 綜合實驗大樓416 綜合實驗大樓503 綜合實驗大樓605 綜合實驗樓605"
update() {
wget -O /tmp/query.asp http://jwc.wyu.cn/everyday/query/indeft/query.asp --post-data "cnt=1&wk=1&wk=2&wk=3&wk=4&wk=5&wk=0&cnt=2&pt=1&pt=2&pt=3&pt=4&pt=5&cc5=&cc6=&cc7=&cc8=&cc9=&Submit=+%CC%E1%BD%BB+"
iconv -f gb18030 -t utf8 /tmp/query-gb18030.tmp > /tmp/query-utf8.tmp
new="rooms=\"$(grep '.*<td align=\"left\">.*' /tmp/query-utf8.tmp | sed -n '0~4p' | grep -o '>.*<' | tr -d '><' | sort -ub | grep -v '^$')\""
new=$(echo $new)
rm /tmp/query-gb18030.tmp /tmp/query-utf8.tmp
sed "${roomline}c $new" $0 > "/tmp/$0"
chmod u+x "/tmp/$0"
mv "/tmp/$0" $0
}
query() {
arg=""
read -p "星期(0-5,0為周末,空格分開):" day
if [ -n "$day" ] ; then
arg="cnt=1&"
for i in $day
do
arg=$arg"wk=$i&"
done
fi
read -p "節次(大節,0-5,空格分開):" class
if [ -n "$class" ] ; then
arg=$arg"cnt=2&"
for i in $class
do
arg=$arg"pt=$i&"
done
fi
read -p "周次(1-19,空格分開):" week
if [ -n "$week" ] ; then
arg=$arg"cnt=3&"
for i in $class
do
arg=$arg"ew=$i&"
done
fi
if [ -z "$arg" ] ; then
echo "what are you doing!"
exit 0
fi
arg=$arg"cc5=&cc6=&cc7=&cc8=&cc9=&Submit=+%CC%E1%BD%BB+"
wget -O /tmp/query-gb18030.tmp http://jwc.wyu.cn/everyday/query/indeft/query.asp --post-data "$arg"
iconv -f gb18030 -t utf8 /tmp/query-gb18030.tmp > /tmp/query-utf8.tmp
used="$(grep '.*<td align=\"left\">.*' /tmp/query-utf8.tmp | sed -n '0~4p' | grep -o '>.*<' | tr -d '><' | sort -ub | grep -v '^$')"
used=$(echo $used)
rm /tmp/query-gb18030.tmp /tmp/query-utf8.tmp
for i in $rooms
do
sign=0
for j in $used
do
if [ "$i" == "$j" ] ; then
sign=1
break
fi
done
if [ "$sign" == "0" ] ; then
echo $i
fi
done
}
if [ $# == 0 ] ; then
query
elif [ "$1" == "--update" ] ; then
update
else
echo -e "Usage:\n\t$0 [--update]"
fi
exit 0