January 3, 2011 - Tagged as: vim, nautilus, python.
Sıkıldıkça geliştirdim arşiv düzenleyiciye sonunda albüm kapağı indirme özelliğini ekledim. Arşiv düzenleyicinin ne olduğu hakkında bilgi almak için scriptin sayfasına bakabilirsiniz.
Henüz nautilus için olanına eklemedim, onu da muhtemelen yarın eklerim, şimdilik arayüzlü halinde albüm kapağı indiriyor sadece. Ek olarak, albüm kapaklarının indirilebilmesi için mechanize kütüphanesine ihtiyaç duyuyor. Ubuntu (ve sanırım Debian) kullanıcıları sudo apt-get install python-mechanize
komutuyla indirebilirler, PyPI veya pip aracılığıyla da indirilebilir.
Eğer mechanize yüklü değilse, kapak indirme seçeneği aktif olmuyor. Onun dışında program aynı şekilde çalışmaya devam ediyor.
Bu arada programın albüm kapaklarını nasıl bulduğundan bahsedeyim biraz. Mechanize’dan daha önce biraz bahsetmiştim. Yine mechanize ile, google resimler’e giriyorum, formu sanatçı adı + albüm adı ile dolduruyorum, sayfadan, kendi yazdığım regex deseni ile arama yapıyorum(ilk başta BeautifulSoup ile resimleri ayırıyordum, fakat onlarca sayfa için tekrarlayınca performans kaybı ço koldu), sonuçlardan birkaç kritere göre eleme yaparak, kalan ilk sonucu indirip kaydediyorum.
İndirme işlemlerini threading ile yapıyorum(bu tip işlemlerde çok bariz performans artışı sağlıyor). Aşağıda programı test ederken yaptığım bir denemenin sonucunu görebilirsiniz. Genel olarak oldukça isabetli resimler indiriyor. Arama cümlesi değiştirilerek (sanatçı adı + albüm adı + " album cover" gibi mesela) daha uygun sonuçlar da elde edilebilir.
Yarın muhtemelen nautilus scriptine de ekleyeceğim bu özelliği, aslında ben zaten sadece nautilus scriptini kullanıyorum(aracı bir script ile, düzenleyip arşivimin olduğu yere kopyalıyor, onu da bir ara yazacağım sanırım).
Bu arada, sanırım tüm kodlarımı github veya benzeri bir yere koyacağım. Bu şekilde çok zor olmaya başladı, her güncellemeden sonra tar dosyasını oluşturmak bile zor geliyor artık, bir yolunu bulmam lazım. Daha düzenli olacak sanırım öyle. Django admin scriptini de bayaa geliştirdim, örneğin artık programın üzerine sürüklediğim dosya veya klasörleri alanıma upload ediyor. Sadece bu programı kullanarak her işimi görebiliyorum. Kodlarımı bir yerde topladıktan sonra, Django admin programını da koyacağım. Nasıl birşey olduğunu merak edenler için, şu yazımda bir ekran görüntüsü koymuştum.
Unutmadan, program için hata raporlarınızı ve tercüme desteğinizi bekliyorum. Tam olarak tercüme edebilsem, Ubuntu veya Pardus için paketler hazırlanabilir aslında.
Bir sonraki hedef, klasör izleme ve eklemeleri otomatik düzenleme özelliği. Asıl hedefim de TidySongs’daki tüm özellikleri eklemek :)
Şurdan indirebilirsiniz. Not: paketleme, distutils vs. ile uğraşmamak için programı tek bir dosyaya sığdırmaya çalıştım. Kod biraz kötü durumda yani :) . Bir sonraki sefer ciddi bir temizlik/düzenleme yapmam gerekecek sanırım.
Ekleme: Benim etiket sistemi tamamen sapıtmış, daha mantıklı bir algoritma lazım sanırım.