Skip to content

September 11, 2009

PyS60 ile SMS Yedekleme

.

pysms
Eğer smslerinizi silmek istemiyorsanız ve gelen kutusu yüzlerce sms ile dolduysa ve telefonunuzun sms yedekleme özelliği yoksa Python sizin yardımınıza hemen yetişir (Tabi işletim sisteminiz Symbian olması lazım!).

Hemen inbox kütüphanesini kullanarak 1 KB’den daha az bir betik yazarak tüm smslerinizi text dosyası olarak yedekleyip gönül rahatlığıyla silebilirsiniz. Hemen kodlara geçelim:

from time import  ctime
from inbox import Inbox
from os import listdir,mkdir

kutum = Inbox()
id = kutum.sms_messages()
yol = "e:\\mesajlar\\"
if not 'mesajlar' in listdir('e:\\'):
    mkdir(yol)
sayi = 10 #yedeklenmesini istediÄŸiniz sms adedi
for i in range(0,sayi):
    msj = kutum.address(id[i])+'\n'+ctime(kutum.time(id[0]))+'\n'+kutum.content(id[i])
    h,ay,gun,saat,yil = ctime(kutum.time(id[i])).split(" ")
    sa,dk,sn=saat.split(':')
    d = gun+ay+yil+'-'+sa+'.'+dk+'.'+sn+'-'+kutum.address(id[i])+".txt"
    dosya = open(yol+d,'w')
    dosya.write(msj.encode('utf-8'))
    dosya.close()
print str(sayi)+" adet mesaj '"+yol+"' dizinine kaydedildi."


Kodları kısaca açıklayalım.

Önce inbox modülünü import ediyoruz. Ardından gelen kutusuna baÄŸlanıyoruz. Her smsnin kendine özgü baÅŸka smsde ıolmayan bir id numarası vardır. “id” isimli deÄŸiÅŸkene bu id numaralarını atıyoruz (kutum.sms_messages()) Sms okumayı bu id numaralarına göre yapacağız. Hafıza kartında mesajlar isminde bir dizin yoksa oluÅŸturuyoruz. Sonra kaç adet sms yedeklemek istiyorsak sayi” deÄŸiÅŸkenine o sayıyı yazıyoruz. “msj” isimli deÄŸiÅŸkene mesajın gönderenini, gönderme zamanını ve mesaj içeriÄŸini atıyoruz. Mesajın gönderme tarihinin formatını ayarlıyoruz ve gönderme zamanı+gönderen+’.txt’ isimli bir dosya oluÅŸturup mesajlar dizinine yazdırıyoruz. Yazarken utf-8 ÅŸeklinde kodlanmış olarak yazarsak karakter problemi yaÅŸamayız. Kolay gelsin…

Benzer yazılar:

Share your thoughts, post a comment.

(required)
(required)

Note: HTML is allowed. Your email address will never be published.

Subscribe to comments