özgürlük için
Pardus logosu indir
Bilgisayarınızda Pardus'a geçmek mi istiyorsunuz? İlk Adımlar bölümünde aradığınız tüm cevapları bulacaksınız.
Özgürlükİçin.com, Pardus'un yaygınlığını artırmak ve bilgi paylaşımı için kurulan bir topluluk sitesidir.
İlk Adım
Pardon
Topluluk & Forum
Gezegen
Haberler
Temalar
Oyunlar
Paketler
Nasıl
23 Ağustos

Pardus için yazdığım çevrimdışı güncelleme yardımcısını kurulum CD'sinde bulunmayan PyQt4 ile geliştirmişim. Geliştirmişim diyorum çünkü bu trajik-komik durumu interneti olmayan bir kullanıcının test ederken aldığı "
ImportError: No module named PyQt4" hatasıyla anlamış olmamdan dolayı yaşadığım dumuru hala üzerimden atamadım. :D

Bu sabah programı pek içimden gelmeyerek PyQt'ye uyarlamak için biraz kurcaladım ama bu iki kütüphanenin birbirinden temel farklılıkları olduğunu anlayınca bu işi şimdilik bir kenara bırakıp programı bir komut satırı aracına dönüştürmenin daha az acı vereceğine karar verdim. Bu projeyi Qt ve özellikle QtXml'i tanımak için yapmıştım, beni teselli eden herhalde bu amacıma ulaşmış olmam oldu. Tabii bunu yaparken işe yarar bir şeyler ortaya çıkmasını da istiyordum.

Ancak kodlarla boğuşurken bu defa farklı olarak üyesi olduğum www.live365.com'dan bir Smooth Jazz [1] kanalını Amarok ile açtım. Kod yazarken ihtiyaç olan konsantrasyon, meditasyon, navigasyon vs.için oldukça etkili olduğunu fark ettim. Genelde sıkı bir Jazz dinleyicisi değilim ama sesi fazla açmadan yan taraftaki bir caz kulübünden odaya süzülen melodiler havasında dinlenen bu tür Cazın "Cazz'n Gazz" etkisini de hiç hafife almayın ve deneyin derim.

[1] http://www.live365.com/stations/bo67

30 Temmuz

Soru: Emekleme aşamasındaki bir "python coder" bu konuyu proje olarak seçerse ne olur?
Cevap : pogy.tar.gz

İlgililerin paketteki README dosyasını okumasını... (Henüz beta bile olmadığını düşünerek pisilemedim.)

15 Temmuz



Bakalım zaman bulup bitirebilecek miyim? Aslında sistemdeki mevcut paketleri ve depo indekslerini tarayan birkaç python sınıfı yazdım, hatta konsoldan güncellenecek paket listesini bile aldım, yani işin özü tamam gibi ama derlenip toparlanması ve hata ayıklaması var. Hadi hayırlısı...


30 Haziran


Bugün beni saatlerce uğraştıran küçük bir keşif bu. Keşif diyorum çünkü Qt'yi sadece Qt Designer'den kullanmış birisi olarak Qt referans belgeleri arasında kayboldum. Bulabildiğim tüm örnekler C üzerindeydi ve Qt ile xml parse işlemi yapan pek kimsenin olmadığını fark ettim. Herhalde başka kütüphaneler kullanıyorlar ama ben Qt diye tutturdum :) Hele PyQt ile xml parsing örneği bulabilen varsa allah rızası için bana adresini yazsın...

Aslında gerek kalmadı işin mantığını çözdüm, ama hala bana Python ve Qt ayrı dünyalarda gibi geliyor. Madem kimse yazmamış işte ben yazıyorum, Python'da Qt kütüphanesi ile nasıl XML Parse edilir.


XML Dosyası şöyle olsun;


<PISI>
<Distribution>

</Distribution>
<Package>

</Package>
<Package>

</Package>
</PISI>



Minik python kodu da şu;

#!/usr/bin/python


from PyQt4 import QtCore, QtXml

#Dosya'yı aç ve oku
f = QtCore.QFile("pisi-index.xml")
f.open(QtCore.QIODevice.ReadOnly)
heap = f.readAll()

#Xml nesnesi oluştur
xml = QtXml.QDomDocument()

#Xml içeriğini nesneye aktar.
#aktarınca parse edilmiş olacak
#geri dönüş değeri 4 adet değişken oluyor
#ve () içinde bu dönen değerler alınabiliyor
#ilk değişken parse işleminin başarı durumu
(success, msg, a,b) = xml.setContent(heap)
print success

#firstChild fonksiyonu adı üstünde
#ilk Xml düğümünü (node) yani root-node'u
#QDomNode nesnesi olarak döndürüyor
first = xml.firstChild()

#QDomNode nesnesinin nodeName fonksiyonu
#düğümün adını döndürüyor
print first.nodeName()

#ChildNodes ise bağlı düğümlerin bir
#listesini tutan QDomNodeList
#nesnesinin döndürüyor
childs = first.childNodes()

#Bu nesnenin at() fonksiyonuna verilen
#parametre kaçıncı düğümü döndüreceğini
#belirtiyor tabii ki dönen nesne de bir QDomNode
firstelement = childs.at(1)
print firstelement.nodeName()

Programı çalıştırınca çıktımız şöyle;

True
PISI
Package

Bu çıktıdan nelerle uğraştığımı da anlamış olabilirsiniz :) Ayrıca Qt ile ilgileniyorsanız ve Pardusunuzda Qt Asistan kuruluysa kendinize bir sürpriz yapın ve "qtdemo" komutunu çalıştırın.

24 Aralık

[1] Bağlantısındaki açıklamaların bana bir şey ifade etmeyecek olmasıdır.. Kabus gibi bir şey.. Amarok vazgeçilir mi bilemiyorum..



[1]: http://www.ozgurlukicin.com/paket/amarok/