6 Eylül 2008 Cumartesi

Python ve MySQLdb Eşliğinde pisi.api

Özgürlük İçin için tüm app:gui (kullanıcı arayüzüne sahip) olan paketlerin listesi gerekti. Bu iş için ufak bir kod yazdım (Uğur Çetin ve Faik Uygur'un katkılarıyla) ve bu kodu sizinle paylaşmak istedim.

Bu işi PiSi API ile yapacağız. PiSi API ile aldığımız paketleri ufak bir kontrolden sonra MySQL veritabanına ekleyeceğiz. Bu yüzden öncelikle pisi ve MySQLdb yi import edelim;

import pisi
import MySQLdb

Veritabanı bağlantımızı sağlayalım

conn = MySQLdb.connect (
host = "localhost",
user = "root",
passwd = "",
db = "oi"
)
cursor = conn.cursor()

Sonra paket bilgilerini alabilmek için kullanacağımız fonk

packagedb = pisi.db.packagedb.PackageDB()

Paketin app:gui olup olmadığını kontrol edelim ve eğer app:gui ise ve daha önceden veritabanına eklenmediyse paketi veritabanımıza ekleyelim.

for pkg in pisi.api.list_available():
if 'app:gui' in packagedb.get_package(pkg).isA:
cursor.execute("SELECT id FROM ideas_related WHERE name='%s'" % pkg)
row = cursor.fetchone()
if row == None:
cursor.execute("INSERT INTO ideas_related (category_id, name) VALUES ('3', '%s')" % pkg)
print "%s paketi veritabanına eklendi." % pkg


Bu küçük örnekte Python, PiSi API ve MySQLdb ile bir şeyler yaptık. Umarım birilerinin işine yarar.

Hiç yorum yok:

Yorum Gönder