<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ftoptas blog &#187; pys60 dersleri</title>
	<atom:link href="http://ftoptas.com/tag/pys60-dersleri/feed/" rel="self" type="application/rss+xml" />
	<link>http://ftoptas.com</link>
	<description>[beta]</description>
	<lastBuildDate>Mon, 30 Jan 2012 20:19:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>PyS60 ile SMS Yedekleme</title>
		<link>http://ftoptas.com/pys60-ile-sms-yedekleme/</link>
		<comments>http://ftoptas.com/pys60-ile-sms-yedekleme/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 04:18:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[pys60]]></category>
		<category><![CDATA[inbox]]></category>
		<category><![CDATA[pys60 dersleri]]></category>
		<category><![CDATA[sms yedekleme]]></category>

		<guid isPermaLink="false">http://ftoptas.com/?p=297</guid>
		<description><![CDATA[Eğer smslerinizi silmek istemiyorsanız ve]]></description>
			<content:encoded><![CDATA[<p><img src="http://ftoptas.com/wp-content/uploads/2009/09/pysms.jpg" alt="pysms" title="pysms" width="400" height="200" class="aligncenter size-full wp-image-298" /><br />
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!).</p>
<p>Hemen inbox kütüphanesini kullanarak 1 KB&#8217;den daha az bir betik yazarak tüm smslerinizi text dosyası olarak yedekleyip gönül rahatlığıyla silebilirsiniz. Hemen kodlara geçelim:</p>
<pre name="code" class="python">
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."
</pre>
<p><span id="more-297"></span><br />
Kodları kısaca açıklayalım.</p>
<p>Önce <span style="color: #0000ff;">inbox </span>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. <span style="color: #0000ff;">&#8220;id&#8221; </span>isimli değişkene bu id numaralarını atıyoruz (<span style="color: #0000ff;">kutum.sms_messages()</span>) 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 <span style="color: #0000ff;">&#8220;</span><span style="color: #0000ff;">sayi&#8221; </span>değişkenine o sayıyı yazıyoruz. <span style="color: #0000ff;">&#8220;msj&#8221;</span> 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 <span style="color: #0000ff;">gönderme zamanı+gönderen+&#8217;.txt&#8217; </span>isimli bir dosya oluşturup mesajlar dizinine yazdırıyoruz. Yazarken <span style="color: #0000ff;">utf-8 </span>şeklinde kodlanmış olarak yazarsak karakter problemi yaşamayız. Kolay gelsin&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://ftoptas.com/pys60-ile-sms-yedekleme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyS60 ile Telefon Rehberi Yedekleme</title>
		<link>http://ftoptas.com/pys60-ile-telefon-rehberi-yedekleme/</link>
		<comments>http://ftoptas.com/pys60-ile-telefon-rehberi-yedekleme/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 14:27:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[pys60]]></category>
		<category><![CDATA[contacts]]></category>
		<category><![CDATA[pys60 dersleri]]></category>
		<category><![CDATA[rehber yedekleme]]></category>

		<guid isPermaLink="false">http://ftoptas.com/?p=290</guid>
		<description><![CDATA[Bugün karşılaştığım bir olaydan sonra]]></description>
			<content:encoded><![CDATA[<p>Bugün karşılaştığım bir olaydan sonra Python&#8217;u daha çok sevmeye başladım. Nokia 6600 rehberini yedeklemeye çalıştık birkaç rehber programı kullandık vCard formatında çıkardı ama isimlerin yaklaşık olarak yarısı görünmedi yani tam olarak alamadık. Derken iş başa düştü ve PyS60 ile birkaç satırda hallettik ve bunu sizinle burada paylaşıyorum.</p>
<pre name="code" class="python">import contacts
rehber=contacts.open()
liste=''
s=len(rehber)
for id in rehber:
    try:
        isim=rehber[id][0].value
    except:
        isim='isim yok'
    try:
        no=rehber[id][1].value
    except:
        no='numara yok'
    liste = liste+isim+'-'+no+'\n'
dosya_adi = 'e:\\rehber-yedek.txt'
dosya = open(dosya_adi,'w')
dosya.write(liste.encode('utf-8'))
dosya.close()
print s,' kisi "'+dosya_adi+'" adresine yedeklendi.'</pre>
<p><span id="more-290"></span><br />
utf-8 karakter kodlamasıyla okuyup yazdığımız için herhangi bir karakter problemi de oluşmuyor.</p>
<p>Burada önce contacts modülünü import ediyoruz.</p>
<p><span style="color: #000080;">contacts.open()</span> fonksiyonuyla rehberi açıyoruz.</p>
<p><span style="color: #000080;">len(rehber)</span> rehberdeki kişi sayısını veriyor.</p>
<p>for döngüsüyle rehberdeki her elemanı sırasıyla çekiyoruz.</p>
<p><span style="color: #000080;">rehber[id][0].value</span> değeri bize rehberdeki ismi verir</p>
<p><span style="color: #000080;">rehber[id][1].value</span> değeri bize ilk numarayı veriri</p>
<p><span style="color: #000080;">rehber[id][2].value</span> değeri bize ikinci numarayı verir. Değiştirdiğimiz sayı her bir alanı ifade etmektedir.</p>
<p><span style="color: #000080;">try</span> kullanmamızın nedeni ise bazen isim olup numara olmuyor veya tam tersi oluyor böyle bir durumda hata verip döngüyü bitirmemesidir.</p>
<p>Okuduğumuz isim ve numaraları aralarına bir <span style="color: #008000;">‘-‘</span> karakteri koyarak ve <span style="color: #008000;">‘\n’</span> ile bir alt satıra geçmesini sağlayarak liste stringine ekliyoruz.</p>
<p>for döngüsü bittikten sonra bir dosya açıp <span style="color: #008000;">‘utf-8’</span> karakter kodlamasıyla kaydediyoruz.</p>
<p>Hepsi bu kadar…</p>
]]></content:encoded>
			<wfw:commentRss>http://ftoptas.com/pys60-ile-telefon-rehberi-yedekleme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

