PyIsimDegis

Albüm cdlerini (Sound Juicer ile) bilgisayara aktarırken bazı parça isimlerinde Türkçe karakterler bozuk görünüyordu. Hepsini tek tek değiştirmek çok meşakkatli olacağa benziyordu. Bende bu işlemi kısa sürede gerçekleştirebilecek bir modül hazırladım.

Modülü çalıştırırken bize gerekli olan şeyler bir klasör ve bir değişim sözlüğü. Belirtilen klasör içerisindeki dosyalar ve o klasör içerisinde bulunan alt klasörler içerisindeki dosyaların isimleri değişim sözlüğü vasıtasıyla değiştiriliyor.

Kodları buradan ya da aşağıdan inceleyebilirsiniz.

pyisimdegis.py içeriği:

 
# -*- coding: utf-8 -*-
import os
 
"""
 
      {Bir klasör belirtilerek o klasör içerisindeki dosya isimlerini
      belirtilen harfler/kelimeler doğrultusunda değiştirmeye yarayan bir modül.}
 
      {Test Sürümü}
 
      Copyright (C) {5 Aralık 2007} {Ömer Ücel}
 
      omerucel@gmail.com
 
      This program is free software; you can redistribute it and/or modify it
 
      under the terms of the GNU General Public License as published by the Free
 
      Software Foundation; either version 2 of the License, or (at your option)
 
      any later version.
 
      This program is distributed in the hope that it will be useful, but WITHOUT
 
      ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
      FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
      You should have received a copy of the GNU General Public License along with
 
      this library; if not, write to the Free Software Foundation, Inc., 59 Temple
 
      Place, Suite 330, Boston, MA 02111-1307 USA
 
"""
 
class PyIsimDegis:
    def __init__(self,klasor,degistir,ddegis=False):
        # İşlemin yapılacağı klasör.
        self.klasor         = klasor
        # Değiştirme bilgileri.
        self.degistir       = degistir
        # Dosya isimlerinde değiştirme işlemi yapılsın mı ? True , False.
        self.ddegis         = ddegis
 
        if self.ddegis==True:
            self.dosya_degistir(self.klasor)
 
    def dosya_degistir(self,yol):
        if yol[len(yol)-1:len(yol)]<>"/":
            yol+="/"
        # Belirtilen yola göre içerik inceleniyor
        for i in os.listdir(yol):
            # Eğer eleman dosya ise değiştirme işlemi gerçekleştiriliyor.
            if os.path.isfile("%s%s" %(yol,i))==True:
                dosya     = "%s%s" %(yol,i)
                yeni_isim = ""
                ilk_deger = ""
                son_deger = ""
                yeni_isim = i
                durum     = False
                for j in self.degistir:
                    ilk_deger = j
                    son_deger = self.degistir[j]
                    if i.find(ilk_deger)>-1:
                        durum = True
                        yeni_isim = yeni_isim.replace(ilk_deger,son_deger)
 
                if durum==True:
                    os.rename(dosya,"%s%s" %(yol,yeni_isim))
            else:
                self.dosya_degistir("%s%s" %(yol,i))
 

ornek.py içeriği:

 
# -*- coding: utf-8 -*-
 
from pyisimdegis import *
 
PyIsimDegis("/home/omer/Music/",{"ð":"ğ","ý":"ı","Þ":"Ş","Ý":"İ","þ":"ş"},True)
 

Tags:

Leave a Reply