Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # номер телефона:
- PHONE=380921234567
- # пароль от Системы самообслуживания:
- PASS=11223344
- # ежесуточный лимит в МБ:
- LIM=232
- # ежесуточный тариф в копейках:
- TARIFF=264
- # пустые сообщения
- MESSAGE2=""
- MESSAGE3=""
- # номер текущего месяца в Системе
- RP=$(expr \( $(date +%y) - 2 \) \* 12 + $(date +%m))
- # получаем страницу
- PAGE=$(curl -s -d "X_Username=$PHONE&X_Password=$PASS" \
- --url "http://my.people.net.ua/TSU/WWW/ACCOUNT_INFO/?sid=details&rp=$RP&grp=on")
- # код возврата команды curl, ошибка при ненулевом значении
- # значит, не удалось загрузить страницу
- ERR1=$?
- if [ $ERR1 -gt 0 ]
- then
- MESSAGE="Не удалось войти в Систему"
- else
- # текущая дата
- DATE=$(date +%d.%m.%Y)
- # количество потраченных МБ по Системе
- MB=$(echo "$PAGE" | grep -A 2 $DATE | tail -n 1 | grep -o '[0-9]*')
- # код возврата команды grep, ошибка при ненулевом значении
- # значит, не удалось получить информацию со страницы
- ERR2=$?
- if [ $ERR2 -gt 0 ]
- then
- MESSAGE="Не удалось получить информацию"
- else
- # получаем строку с ppp0, маскируем возможное сообщение об ошибке
- PPP0=$(grep -e "ppp0" /proc/net/dev 2>/dev/null)
- # код возврата команды grep, ошибка при ненулевом значении
- # значит, не удалось найти строку
- ERR3=$?
- if [ $ERR3 -gt 0 ]
- then
- # Интерфейс PPP0 неактивен
- PPPtraf=0
- # пометка, что используются только данные Системы
- NOTEss="по СС"
- else
- # пометка, что используются данные Системы и текущие
- NOTEss="тек.+СС"
- PPPright=$(echo $PPP0 | cut -d ":" -f 2 | sed 's/ \+/ /g')
- # первое число
- PPP1=$(echo $PPPright | cut -d " " -f 1)
- # девятое число
- PPP9=$(echo $PPPright | cut -d " " -f 9)
- # суммарный (входящий и исходящий) текущий трафик в МБ
- PPPtraf=$(expr \( $PPP1 + $PPP9 \) / 1024 / 1024 + 1)
- fi
- # суммарный трафик по системе и текущий
- MBall=$(expr $MB + $PPPtraf)
- # остаток трафика
- OST=$(expr $LIM - $MBall)
- MESSAGE="На сегодня осталось: $OST МБ (${NOTEss})"
- fi
- fi
- # вторым заходом получаем количество денег на счету
- PAGE2=$(curl -s -d "X_Username=$PHONE&X_Password=$PASS" \
- --url "http://my.people.net.ua/TSU/WWW/ACCOUNT_INFO/?sid=bills&rp=$RP")
- # код возврата команды curl, ошибка при ненулевом значении
- # значит, не удалось загрузить страницу
- ERR4=$?
- if [ $ERR4 -eq 0 ]
- then
- # число со страницы
- MONEY=$(echo "$PAGE2" | grep -A 5 $(date +%d.%m.%Y) | tail -n 1 | cut -d ">" -f 2 | cut -d "<" -f 1)
- # в копейках (удаляем точку)
- MONEYkop=$(echo "$MONEY" | sed -e 's/\.//')
- if [ $MONEYkop -lt 0 ]
- then
- MESSAGE="Услуга недоступна. Пополните счет!"
- else
- # на сколько дней осталось денег
- DAYS=$(expr $MONEYkop / $TARIFF)
- # массив с формами слова
- day=( день дня дней )
- # высчитываем форму слова
- n=$DAYS
- (( plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) ))
- MESSAGE2="Денег: $MONEY грн. (на $DAYS ${day[$plural]})"
- MESSAGE3="Пополнять: "$(date --utc --date "1970-01-01 $(expr $(date --utc +%s) + \( $DAYS + 1 \) \* 86400) sec" "+%d.%m.%Y")" г."
- fi
- fi
- notify-send "PeopleNet" "$MESSAGE\n$MESSAGE2\n$MESSAGE3" -i "$HOME/peoplenet/pn.png"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement