osa1 feed

Python ile daha gereksiz işler

December 12, 2010 - Tagged as: python, tr.

Python ve Java ile yaptığım gereksiz işlere yenilerini eklemeye devam.

Çoplüğe dönen müzik arşivimi düzenlemek için(düzenleyemedim bir türlü şu arşivi :S) bir script daha. Burda aslında amacım arşivin düzenli olması falan değil de, can sıkıntısından birşeyler yazıyorum işte. Bu seferki içinde sadece bir dosya bulunan(klasör değil, en alt klasöre kadar tarar, en üst klasörü kopyalar) klasörleri bir yere topluyor.

#!/usr/bin/python
import os, shutil
def say(klasor, sayac):
    for dosya in os.listdir(klasor):
        if os.path.isdir(os.path.join(klasor, dosya)):
            sayac += say(os.path.join(klasor, dosya), 0)
        else:
            sayac += 1
    return sayac
#print say("/home/osa1/Desktop/ad", 0)
yer = "/home/osa1/Music/"
klasorler = filter(os.path.isdir, [yer + dosya for dosya in os.listdir(yer)])
for klasor in klasorler:
    sayac = 0
    if say(klasor, 0) == 1:
        print klasor.split(os.path.sep)[-1]
        os.rename(klasor, "/home/osa1/Music/test2/" + klasor.split(os.path.sep)[-1])

Arşiv düzenleyici arayüzünü güncelledim, küçük bir hata vardı. Dosya kopyalama sırasında kopyalanan dosya sayısı güncellenmiyordu.

Bir de, dizüstü bilgisayarımı fullhd monitöre bağladıktan sonra, bilgisayarı kapatıp açtığımda üst panel dağılmış oluyor. Panel ayarlarımı bir yere kopyaladım, ve bir komut aracılığıyla onu panel ayarlarının tutulduğu yere geri kopyalıyorum. Komutu .bashrc dosyama kopyaladım:

python -c 'import os; os.rename("/home/osa1/Yedek/panel", "/home/osa1/.gconf/apps/panel")'

Şimdilik bu kadar. Zaman buldukça gereksiz işler yapmaya devam edeceğim. Bu arada osa1.net’in de sayfalara bölünmeye ihtiyacı var. Örneğin python etiketine tıklarsanız, onlarca yazının aynı sayfada gözüktüğünü farkedebilirsiniz. Yeni bir etiket eklediğimde de, tüm eski yazıları tarayıp, yeni etikete göre etiketleme özelliği ekleyebilirsem de güzel olacak aslında. Bir de IRC botu vardı, yarım bıraktığım..

Ekleme: Bu arada sayfalama şeyini de ekledim, artık yazılar 5’er 5’er gösterilip, sayfalara ayrılıyorlar, sayfanın altından veya adres satırından diğer sayfalara geçebilirsiniz.

Ekleme2: Yeni bir etiket eklediğimde eski yazıların otomatik taranmasını da ekledim. Yanlız farkettim ki, otomaitk etiketleme sistemim pek de mantıklı çalışmıyor. Yani eğer etiket yazıda geçiyorsa, otomaitk olarak etiketleniyor. Alakasız etiketlerle etiketlenebiliyor yazılar. Daha mantıklı bir algoritma bulunabilir.