10 Ocak 2011 Pazartesi

Pardus Konsolda Müzik Dinlemek

MPD, servis (daemon) olarak sistem arkaplanında çalışan, aynı zamanda masaüstü yöneticisinden ve oturumlardan bağımsız olarak çalışan bir müzik çalma servisidir. Açılımı, Music Player Daemon'dur. Pulseaudio desteği vardır ve son derece hafiftir. İnternet üzerinden müzik yayını yapmanıza izin verir. İnternette çeşitli konfigürasyon ayarlarını bulabilirsiniz.

Paket deposundan kurmak için:
$ sudo pisi it mpd mpc


Kurduktan sonra servisi çalıştırmak için:
# service mpd start

Daha sonra, root olarak /etc/mpd.conf dosyasındaki aşağıdaki satırı kendi müzik dizininize göre değiştirin:

...        
music_directory                 "/mnt/archive/music"
...



Daha sonra aşağıdaki komutla veritabanını güncelliyoruz:
$ mpc update


Şimdi de ncmpcpp istemcisini kuralım:
$ sudo pisi it ncmpcpp


İstemcimizi de kurduğumuza göre konsolda ncmpcpp komutuyla istemciyi çalıştırıyoruz. 1-9 tuşlarıyla ya da (F1-F9) ncmpcpp görünümleri/tabları arasında geçiş yapabilirsiniz. Önce 1(F1) tuşuyla kısayollara göz atsanız iyi olur. İyi dinlemeler.


Kaynak: http://tr.pardus-wiki.org/MPD

7 Ocak 2011 Cuma

Python ConfigParser (Configuration file parser) Modülü

Bu modül ConfigParser sınıfını tanımlar. ConfigParser sınıfı Microsoft Windows INI dosyalarında bulabileceğinize benzer yapıda basit ayar dosyası ayrıştırma(parser) dili gerçekleştiri. Bunu son kullanıcılar tarafında kolaylıkla özelleştirilebilecek Python programları yazmak için kullanabilirsiniz.

Ayar dosyası [section] başlığıyla sağlanan bölümler ve onu takip eden isim: değer girdileri içerir; isim=değer şeklinde de kullanılabilir. Aradaki boşluklar gözardı edilecektir. '#' ya da ';' ile başlayan satırlar gözardı edilir ve yorum için kullanılabilir.


Yorumlar kendi başlarına boş bir satırda veya değerlerin ya da bölüm isimlerinin bulunduğu satırlarda bulunabilir. İkinci durumda yorum olduklarının anlaşılabilmesi için arada(yorumdan önce) boşluk bulunması gerekir. (Geriye uyumluluk için sadece ; satır içi yorum başlatır.)

Seçimli(optional) değerler aynı ya da özel bir DEFAULT bölümdeki başka değerlere işaret eden format stringleri içerebilirler.

Örneğin:

[Section]
foodir: %(dir)s/whatever
dir=frob
long: this value continues
   in the next line


burada %(dir)s dir 'in değerine sahip olacaktır(örnek için flob). Bütün referans genişletmeleri gerektiğinde gerçekleştrilir.

Öntanımlı(default) değerler ConfigParser yapıcısına sözlük tipinde bir parametre olarak verilebilir. Ek öntanımlılar diğer değerleri geçersiz kılacak get() metoduna verilebilir.Bölümler normalde dahili sözlükte saklanırlar. Alternatif bir sözlük ConfigParser yapıcısına parametre olarak verilebilir.

Örnekler:
Bir ayar dosyasına yazma örneği:

import ConfigParser

config = ConfigParser.RawConfigParser()

# When adding sections or items, add them in the reverse order of
# how you want them to be displayed in the actual file.
# In addition, please note that using RawConfigParser's and the raw
# mode of ConfigParser's respective set functions, you can assign
# non-string values to keys internally, but will receive an error
# when attempting to write to a file or when you get it in non-raw
# mode. SafeConfigParser does not allow such assignments to take place.
config.add_section('Section1')
config.set('Section1', 'int', '15')
config.set('Section1', 'bool', 'true')
config.set('Section1', 'float', '3.1415')
config.set('Section1', 'baz', 'fun')
config.set('Section1', 'bar', 'Python')
config.set('Section1', 'foo', '%(bar)s is %(baz)s!')

# Writing our configuration file to 'example.cfg'
with open('example.cfg', 'wb') as configfile:
    config.write(configfile)

Bir ayar dosyası okuma örneği:


import ConfigParser

config = ConfigParser.RawConfigParser()
config.read('example.cfg')

# getfloat() raises an exception if the value is not a float
# getint() and getboolean() also do this for their respective types
float = config.getfloat('Section1', 'float')
int = config.getint('Section1', 'int')
print float + int

# Notice that the next output does not interpolate '%(bar)s' or '%(baz)s'.
# This is because we are using a RawConfigParser().
if config.getboolean('Section1', 'bool'):
    print config.get('Section1', 'foo')


Ayrıntılı belgelendirme ve daha fazla örnek için:http://docs.python.org/library/configparser.html