arşiv

yazılar buna göre etiketlendi; ‘html’

İki Yeni Program

Pazar, 06 Ara 2009

Uzun bir aradan sonra, istihza.com‘daki Python Programları bölümümüze iki yeni program daha eklendi.

Eklenen ilk programın adı “HTML Kaynak Görüntüleyici”.

“HTML Kaynak Görüntüleyici”, istediğiniz sitenin kaynağını görüntüleyen bir program. Kaynağını görüntülemek istediğiniz bir internet sayfasının adresini programdaki url kısmına yazıyorsunuz ve program da o sayfayı bilgisayarınıza indiriyor.

İkinci program ise bir “FTP Dosya İndirme” programı. Program yazarı bu programı şöyle tanımlıyor:

FTP server kısmına istediğin web sitesinin FTP adresini yaz, bağlan butonuna tıkla ve siteden indiremediğin dosyaları bu programla indir.

Bu programların ikisi de İsmail Akyıldız tarafından PyQT arayüz takımı kullanılarak yazılmış. Programları yazdığı ve bu programlardan bizi haberdar ettiği için kendisine teşekkür ediyorum.

Bu programların indirme adreslerine http://www.istihza.com/programlar/icindekiler_programlar.html‘den ulaşabilirsiniz.

Yazılım , , , ,

Python hmeta 0.1

Pazar, 11 Eki 2009

Bildiğiniz gibi, “meta tag”lar (üst eklenti), bir HTML sayfasının “<head>” kısmında bulunan ve o HTML sayfasının yapısı ve içeriği hakkında bilgi veren öğelerdir. Mesela sayfanın dil kodlamasını, sayfadaki anahtar kelimeleri ve sayfanın hangi konu hakkında olduğunu bu “meta tag”lar aracılığıyla belirtebiliriz. Bu öğeler aynı zamanda sayfamızı bir adrese yönlendirme gibi işlemleri de yapmamızı sağlar.

HTML sayfalarınızda yer alacak “meta tag”ları kolay yoldan üretebilmek için “hmeta 0.1″ adlı bir Python paketinden yararlanabilirsiniz.

“hmeta”, Sevgili Samet Aras tarafından yazılmış bir Python modülüdür. Samet Aras bu modülü yazıp, resmi Python sitesi olan www.python.org’daki “Python Package Index” bölümüne de ekletmiş. Dolayısıyla bu paketi http://pypi.python.org/pypi/hmeta/0.1 adresinden kolayca indirebilirsiniz.

Paketi indirip açtıktan sonra şöyle bir yapıyla karşılaşacaksınız:

/pyhmeta
   setup.py        #kurulum dosyası
   hmeta.py        #paketin ana dosyası
   output.py       #konsol renklendirmesi yapan paket
   example.py      #paket kullanım örnekleri
   PKG-INFO        #paket bilgileri

/doc
    doc-en.txt     #HTML meta bilgileri (İngilizce)
    doc-tr.txt     #HTML meta bilgileri (Türkçe)
    meta_tags.html #HTML meta kullanımları

İndirdiğiniz bu paketi kurmak için, paket dizini içinde yer alan “setup.py”yi çalıştırmanız yeterli olacaktır. Bu işlemi şu şekilde yapabilirsiniz:

sudo python setup.py install

Bu komutu verdikten sonra paket içindeki dosyalar gerekli yerlere otomatik olarak kopyalanacak ve paketiniz kullanıma hazır bir hale gelecektir.

Paketimizi güzelce indirdik ve kurduk. Gelelim şimdi bu paketi nasıl kullanacağımıza…

Önce Python’un etkileşimli kabuğunu açıyoruz ve daha sonra etkileşimli kabukta şu komutu veriyoruz:

>>> import hmeta

Böylece “hmeta” adlı modülü içe aktarmış olduk. Artık bu modülün bütün nimetlerinden yararlanabiliriz. Eğer arzu ederseniz şu komutu vererek modülün içinde neler olduğuna bakabilirsiniz:

>>> dir(hmeta)
['Meta', '__author__', '__builtins__', '__copyright__',
'__date__', '__doc__', '__file__', '__license__', '__name__',
'__package__', 'aut', 'copy', 'des', 'key', 'output',
'refresh', 'robots', 'time', 'type']

Gördüğünüz gibi, modül bize “aut()”, “copy()”, “des()”, “key()”, “output()”, “refresh()”, “robots()”, “time()” ve “type()” adlı metotlar sunuyor. Bu metotları kullanarak, <head> bölümü içinde yer alacak farklı “meta tag”lara ait tanımlamalar üretebiliriz.

Burada “des()” metodunu kullanarak bir “description” eklentisi üretebilirsiniz. HTML sayfalarında “description” eklentisi, sayfanızın ne hakkında olduğuna ilişkin bilgi verebileceğiniz bir alandır. “hmeta” modülünün “des()” metodunu şöyle kullanıyoruz:

>>> import hmeta
>>> hmeta.des("HTML Meta Element")
<head>
<meta name="description" content="HTML Meta Element">
</head>

Gördüğünüz gibi komut çıktısı gayet şık bir biçimde renklendirilmiş olarak dönüyor…

Bir web sitesi hazırlarken sitenizi tanımlayan anahtar kelimeleri belirtmeniz arama motorlarının sitenizi daha kolay indekslemesini sağlayacaktır… Bunun için “keywords” eklentisini HTML belgenizin <head> kısmında tanımlamanız gerekir. “hmeta” modülünün “key()” adlı metodunu kullanarak anahtar kelimelerinizi ve dolayısıyla “keywords” eklentisinin içine yazacaklarınızı belirleyebilirsiniz:

>>> hmeta.key("html,meta,element")
<head>
<meta name="keywords" content="html,meta,element">
</head>

Sitenize “yazar” ve “copyright” bilgilerini eklemek için ise sırasıyla “aut()” ve “copy()” metotlarından faydalanabilirsiniz:

>>> hmeta.aut("Samet Aras")
<head>
<meta name="author" content="Samet Aras">
</head>
>>> hmeta.copy("© 2009")
<head>
<meta name="copyright" content="© 2009">
</head>

Eğer sitenizi tarayacak robotların davranışını belirleyen bir eklenti oluşturmak isterseniz “robots()” metodu tam size göre:

>>> hmeta.robots("ALL")
<head>
<meta name="robots" content="ALL">
</head>

Bazen sitenizi veya sitenizdeki bir sayfayı başka bir adrese yönlendirmeniz gerekebilir. Sitenizi ziyaret eden kişilerin başka bir adrese yönlendirilebilmesi için HTML sayfanıza bir “refresh” eklentisi yerleştirmelisiniz. Mesela aşağıdaki komut sitenize tıklayan kişileri 5 saniye içinde www.python.org” sitesine yönlendirmenizi sağlayacak kodu üretir:

>>> hmeta.refresh(5,"http://www.python.org")
<head>
<meta http-equiv="refresh" content="5; url=http://www.python.org">
</head>

Bir HTML sayfasındaki en önemli meta tag’lardan bir tanesi de sayfanızın doğru görüntülenebilmesi için hangi karakter kümesini kullanmak gerektiğini gösterecek olandır. Sayfamızı “UTF-8″ ile kodlamak için şöyle bir eklenti kullanmamız gerekir:

>>> hmeta.type("UTF-8")
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>

Gördüğünüz gibi, “hmeta” adlı modül, HTML sayfaları oluştururken işlerinizi bir hayli kolaylaştıracak metotlar barındırıyor. Bu modülü yazan ve bu günlük girdisini yazmamı sağlayacak bilgileri bana gönderen Sevgili Samet Aras’a teşekkür ederim.

Sevgiler,

istihza

Yazılım , , , , , ,

lshw Komutu ile Donanım Bilgileri

Pazartesi, 05 Eki 2009

GNU/Linux’ta, sahip olduğunuz donanımlarla ilgili son derece ayrıntılı bilgiler veren “lshw” adlı bir komut bulunur. Bu komutu şöyle kullanıyoruz:

sudo lshw

Eğer sisteminizde “lshw-gtk” adlı program kuruluysa yukarıdaki komutu şöyle verebilirsiniz:

sudo lshw -X

Bu komut lshw’nin grafik arayüzünü çalıştıracaktır.

lshw komutu normalde epey uzun bir çıktı verir. Ama eğer biz istersek bu komutu bazı parametrelerle birlikte kullanarak çıktıyı süzebiliriz.

Örneğin sadece işlemci ile ilgili bilgi almak için bu komutu şu şekilde yazabilirsiniz:

sudo lshw -C processor

Böylece önünüze sadece işlemci ile ilgili ayrıntılar gelecektir. Bu komutu şu şekilde de kullanabilirsiniz:

sudo lshw -class processor

Eğer lshw’nin size tablo görünümünde ve kısaltılmış bir çıktı vermesini isterseniz şöyle bir şey deneyebilirsiniz:

sudo lshw -short

Ayrıca bu komutun çıktısına bakarak “lshw” içindeki “class”ları (sınıf) da görebilirsiniz. Mesela lshw’de “disk” adlı bir sınıf olduğunu görüp şöyle bir komut vererek sadece disk sürücülerine ilişkin ayrıntılı bilgi edinebilirsiniz:

sudo lshw -C disk

veya:

sudo lshw -class disk

Eğer isterseniz birden fazla sınıfı bir arada da kullanabilirsiniz:

sudo lshw -class network -class disk

Bu komut hem ağ hem de sürücü bilgilerini bir arada verecektir…

Bu komutun başka pek çok özelliği bulunur. Şu komutu vererek lshw’nin bütün özellikleri hakkında bilgi edinebilirsiniz:

man lshw

Ama lshw’nin en güzel özelliğini henüz anlatmadık. Bu komut, donanımımızla ilgili bütün bilgileri bir html veya xml belgesi biçiminde almamıza da olanak tanır. Şöyle:

sudo lshw -html > deneme.html

Bu komut, o anda içinde bulunduğunuz dizinde deneme.html adlı bir dosya oluşturacaktır…

Eğer donanımınıza ilişkin bütün bilgileri bir xml dosyası olarak almak isterseniz şu komutu vermelisiniz:

sudo lshw -xml > deneme.xml

Bu komut da, bulunduğunuz dizin içinde deneme.xml adlı bir xml dosyası oluşturacaktır…

lshw oldukça yararlı bir araçtır. Yeri geldiğinde sizi pek çok sıkıntıdan kurtardığını göreceksiniz…

GNU/Linux, Teknik , , , ,