سلام دوستان

در پست قبلی تلاش کردم اوقات شرعی را از سایت آوینی دات کام  بااستفاده از conky در میزکارم نمایش بدهم. دو قدم اول این کار را انجام دادم .بعد از کمی جستجو تونستم در طی این مراحل این کار رو انجام دهم. در ضمن دوستان می توانند از نرم افزار starcalender که توسط آقای سعید رسولی توسعه داده می شود استفاده نمایند که علاوه بر تقویم فارسی،  امکان محاسبه و نمایش آفلاین اوقات شرعی هر شهر را هم ارائه می کند.

مرحله اول را به این صورت اصلاح کردم.

wget -O ~/.conky/aviny2.txt http://prayer.aviny.com/city_time.aspx?Code=1001

مرحله دوم را اصلاح و  بعد از جستجوی کلمه « امروز » فایل متنی مرحله اول  آن را به خطوطی با طول 25 کاراکتر تقسیم کردم.


grep امروز ~/.conky/aviny2.txt | fmt -w 25  > ~/.conky/oghat.txt 

بعد از بررسی فایل متنی بدست آمده اوقات موردنظرم در خطوط 9،11،13،15،17،19 قرار داشت.

مننتبا بررسی فایل بدست آمده، ساعات اوقات درخطوط مذکور در فواصل بین کاراکترهای 20 الی 29 قرار دارد. با استفاده از دستورات زیر ساعت ها را از خطوط جدا و در یک فایل جداگانه ذخیره می کنم.

head -n 9 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azansob.txt 
head -n 11 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/toloh.txt 
head -n 13 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azanzohr.txt 
head -n 15 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/ghorob.txt 
head -n 17 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azanmaghreb.txt 
head -n 19 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/nimehshab.txt 

در اینجا در پوشه .conky،   شش فایل متنی جدید که فقط شامل ساعت است ایجاد می شود..


در مرحله بعد خطوط زیر را به انتهای فایل .conkyrc که درپوشه خانگی قرار دارد.

${font caviar dreams:size=10}${color FF4D00}${alignr}AzanSobh: ${exec cat ~/.conky/azansob.txt} 
${font caviar dreams:size=10}${color FF4D00}${alignr}Toloh: ${exec cat ~/.conky/toloh.txt} 
${font caviar dreams:size=10}${color FF4D00}${alignr}AzanZohr: ${exec cat ~/.conky/azanzohr.txt} 
${font caviar dreams:size=10}${color FF4D00}${alignr}Ghorob: ${exec cat ~/.conky/ghorob.txt} 
${font caviar dreams:size=10}${color FF4D00}${alignr}AzanMaghreb: ${exec cat ~/.conky/azanmaghreb.txt} 
${font caviar dreams:size=10}${color FF4D00}${alignr}NimeShab: ${exec cat ~/.conky/nimehshab.txt}

در نهایت خروجی زیر را بر روی دسکتاپ خواهیم داشت.

خروجی بر روی دسکتاپ

برای اینکه هر روز اوقات شرعی با سایت بروز شود. مراحل بالا را بصورت اسکریپ نوشتم و خط زیر را به crontab اضافه کردم که استفاده از cron هر روز یکبار اجرا می شود.

#!/bin/bash
#aviny prayer time
wget -O ~/.conky/aviny2.txt http://prayer.aviny.com/city_time.aspx?Code=1001
grep امروز ~/.conky/aviny2.txt | fmt -w 25  > ~/.conky/oghat.txt
head -n 9 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azansob.txt
head -n 11 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/toloh.txt
head -n 13 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azanzohr.txt
head -n 15 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/ghorob.txt
head -n 17 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azanmaghreb.txt
head -n 19 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/nimehshab.txt
2 2 * * *  sh ~/.conky/oghat.sh

پ.ن: من نتوستم توی فایل اسکریپت از حلقه استفاده کنم، ممنون میشم دوستان راهنمایی ام کنند.