Merhabalar, Squirrelmail'in Takvim (Calendar) eklentisini Hatırlatıcı (reminder) olarak kullanılabilmesi için Python ile bir koda yazdım. Programları netde sunacak herhangi bir yerim olmadığı için mesaj olarak göndermek camiaya daha faydalı olur diye düşündüm...
Programı her dakikada çalışmak üzere cron'a eklemeniz gerekiyor. Zaten Takvim eklentisinde kullanılan zaman değerleri 5'in katları olarak verilebildiğinden program her 5 dakikada bir tüm takvim kayıtlarını kontrol ediyor ve anlık zaman ile uyuşan takvim kayıtlarını oluşturan kişiye e-posta gönderiyor... Umarım faydası olur... Yeni fikirlere açığım :) ********************************************************* #!/usr/bin/python # -*- coding: utf8 -*- #Mucibirahman İLBUĞA #[email protected] #16/03/2009 import string, os, codecs, fnmatch, time, random def IslemYap(GelenDosya,Kime): global AnlikZaman print GelenDosya f=open(GelenDosya,"r") for line in f: Okunan=line Bilgi=Okunan.split("|") Tarih=Bilgi[0] TarihAy=Tarih[0:2] TarihGun=Tarih[2:4] TarihYil=Tarih[4:8] Saat=Bilgi[1] SaatSaat=Saat[0:2] SaatDakika=Saat[2:4] Sure=Bilgi[2] Durum=Bilgi[3] Baslik=Bilgi[4] Aciklama=Bilgi[5] #******************************** t=(int(TarihYil), int(TarihAy), int(TarihGun),int(SaatSaat),int(SaatDakika),0,0,0,0) BaslangicZaman=time.mktime(t) BitisZaman=BaslangicZaman+(int(Sure)*60) if BaslangicZaman<=AnlikZaman and AnlikZaman<=BitisZaman: Sayac=str(random.random()) Sayac=Sayac[-5:] HedefDosya="/root/GidenPosta"+ Sayac + ".txt" cmd ='echo To:'+ Kime + '>'+ HedefDosya os.system(cmd) cmd ='echo From:'+ "[email protected]" + '>>'+ HedefDosya os.system(cmd) cmd ='echo Subject:'+ Baslik + " Konulu Hatirlatmaniz var!" + '>>'+ HedefDosya os.system(cmd) cmd ='echo Hatirlatma Tarihi: '+ TarihGun + "/" + TarihAy + "/" + TarihYil + '>>' + HedefDosya os.system(cmd) cmd ='echo Hatirlatma Zamani: '+ SaatSaat + ':' + SaatDakika + '>>'+ HedefDosya os.system(cmd) cmd ='echo Hatirlatma Suresi: '+ Sure + ' dakika >>'+ HedefDosya os.system(cmd) cmd ='echo ----------------------------------------------------------- >>'+ HedefDosya os.system(cmd) cmd ='echo '+ Aciklama + '>>'+ HedefDosya os.system(cmd) cmd='cat ' + HedefDosya + ' |/var/qmail/bin/qmail-inject' os.system(cmd) cmd='rm -f ' + HedefDosya os.system(cmd) f.close() def Basla(): DizinAdi="/var/lib/squirrelmail/prefs" Yil =time.strftime("%Y",time.localtime()) Kriter = "*." + Yil + ".cal" os.listdir(DizinAdi) dirname = DizinAdi os.listdir(dirname) for file in os.listdir(DizinAdi): if fnmatch.fnmatch(file, Kriter): Kime=file[:-9] IslemYap(DizinAdi + '/' + file,Kime) AnlikZaman = time.time() AnlikDakika = int(time.strftime("%M",time.localtime())) if AnlikDakika%5 == 0: Basla() ********************************************************* -- Kolay gelsin, Mucip:) _______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama
