identi.ca Göndergeci
Birden fazla arşiv dosyasını aynı anda açmak veya çok parçalı arşiv dosyaları oluşturmak gibi işlemlerin sadece konsol üzerinden kolayca yapılabiliyor olmasını sevmiyorum. Bununla birlikte konsolun internette gezinmek, müzik dinlemek gibi ilginç kullanım alanlarını merakla takip ediyorum.
Bugün de bir yandan Quake Live'nin yeni çıkan GNU/Linux sürümünü indirirken diğer taraftan da Google Reader'a düşen ilginç yazılara bakıyordum. Linux Journal'daki Tweeting from the Commandline with curl oldukça ilgimi çekti. Twitter kullanmadığım için Google'da küçük bir arama yaparak identi.ca'da nasıl yapılabileceğini buldum. Girilen parola ekranda görüldüğü için pek beğenmemiştim bu yöntemi. Parolayı girerken elimle ekranı kapatayım daha sonra da konsol ekranını ve geçmişini temizleyeyim diye düşünürken ras0ir daha iyi bir çözüm buldu :)
Ben de bu kod parçacığından yola çıkarak ve aşağıdaki kaynaklardan yararlanarak
- Bash'ta if-else Kalıbı ve Kontrol İşlemleri
- Dosya içinde kelime arama (İngilizce)
- Konsol renkleri ve diğer ipuçları (İngilizce)
- Renkli Bash imleci (İngilizce)
- cURL
şöyle bir betik yazdım:
#!/bin/sh
#
# identi.ca göndergeci // identi.ca sender
# ras0ir ve maidis'ten // by ras0ir & maidis
# sürüm 0.1 // version 0.1
echo "Mesajınız :"
read mesaj
echo "Kullanıcı adı:"
read kullanici
echo "P a r o l a :"
read -s parola
curl -u $kullanici:$parola -d status="$mesaj" http://identi.ca/api/statuses/update.xml > /tmp/identi.ca
clear
echo $mesaj
if grep -m1 "error" < /tmp/identi.ca
then
echo -e "\033[31mMesajınızı gönderemedik :( kullanıcı adınızı veya parolanızı yanlış girmiş olabilir misiniz?"
else
echo -e "\033[32mAllem ettik kallem ettik ve mesajınızı başarıyla gönderdik :)"
fi
Sanırım bugüne kadar yazdığım ilk betik bu, hataları olabilir, bu yüzden kullanırken dikkatli olunuz. Konsol yazılımı için ekran görüntüsü vermek ne kadar gerekli bilmiyorum ama aşağıdaki ekran görüntülerinden betiğin ne yaptığını daha rahat görebilirsiniz:
Buna bir de karakter sayacı eklemek lazım 140 karakter sınırlaması için, nasıl yapılabileceğini bilen varsa çekinmesin söylesin bir ve daha ekleriz betiğin yazarlarına :)
YanıtlaSilHımm hem güncellenen bir yazının tarih bilgileri değişmese bile gezegenlere veya RSS takipçilerine düşüp düşmeyeceğini kontrol etmek hem de dpaste'yi test etmek için yazıyı güncelledim. Uzun satırlar otomatik olarak bölünmüyor, bir çözümü vardır elbet ama renkli görünmesi harika.
YanıtlaSilkarakter sayacı için bir gui toolkit kullanmak gerekir. ya da daha basit metod olarak metin uzun ise kullanıcı kışkışlanır bi daha yaz denir.
YanıtlaSilterminal ekranında sanırım ncurses kullanılabilir
ncurses'e bakayım (şunlar faydalı olacaktır sanırım: 1, 2) ama ya 140. karakterin geleceği konuma bir işaret koymak (kırmızı bir nokta belki) gibi basit bir yöntemi veya mesajın her bir karakteri girildikten sonra bir dala atlayıp sayacı bir azaltacak (140-1) sonra tekrar mesaj yazmaya dönecek saçma bir yöntemi deneyeceğim (ikinci yöntemin olmayacağına bahse girerim :) )
YanıtlaSilAslında bu betiği günlük hayatta kullanacak kadar çılgın biri yazdığı karakterleri rahatlıkla hesaplayabilir kafasından, hadi o kadar abartmayayım bir kaç kullanımdan sonra 140. karakterin nereye geleceğine alışır zaten :)
140'dan sonrasında farklı bir renge geçmesi sağlanabilir belki.
YanıtlaSilBu grupta da farklı şeyler varmış konuyla ilgili.
YanıtlaSilBu yorum bir blog yöneticisi tarafından silindi.
YanıtlaSil