rasgan
Administrator Pan na włościach

Wiek: 27 Dołączył: 22 Lut 2007 Posty: 195 Skąd: Mikołów
|
Wysłany: 2008-04-17, 20:18 Szybka zmiana kolorków
|
|
|
Jako, że wciąż testuję programy konsolowe dziś na talerz poszedł czytnik RSS, rtorrent i midnight commander. Dokonfigurowałem również urxvt i mplayera. Teraz wszystko ładnie śmiga z konsoli.
Mplayer
Tutaj zabawy nie było dużo. Dogranie czcionki z polskimi znakami, wpisanie strony kodowania napisów do konfiga i przesunięcie napisów pod film. Zero problemów. Robiłem to już kilka razy wcześniej przy instalacji ubuntu czy fedory.
RXVT-Unicode
Tutaj zeszło mi więcej czasu. Musiałem zapoznać się z manualem, ponieważ to co znajdywałem na sieci nie zawsze chciało mi działać. Szkoda tylko, że aby zobaczyć efekty mojej pracy konfiguracyjnej muszę się wylogować i zalogować.
Rtorrent
Tutaj tragedia. Pomimo kilkudniowego testowania, napisania sobie skryptu w rubym do kolejkowania i maksymalnej liczby połączeń niestety rtorrent nie zdaje egzaminu. Program jest świetny, nie ukrywam. Znakomicie ściąga, jest lekki i szybki, ale... właśnie zawsze jest jakieś ale. Moim zdaniem komputer powinien ułatwiać życie człowiekowi, pomagać mu w pracy a nie przysparzać mu kolejnej. Tak niestety nie jest z programami konsolowymi. Wcale one nie są takie dobre jak myślałem. Trzeba się sporo nakonfigurować, sporo naczytać i sporo namęczyć by spełniały choć namiastkę swoich zadań. Tak też było z rtorrentem. Konfiguracja, napisanie sobie skryptu kolejkowania i testy – wszystko zajęło mi około 2 godzin pisania i 3 dni testów. Czas niezmarnowany, bom bogatszy o kolejne doświadczenia, ale rtorrent wyleciał z dysku na rzecz sprawdzonego azureusa.
Perełka
Na koniec to co mi się podoba najbardziej – Midnight Commander. Co w nim takiego? Ano to, że znalazłem sposób zmieniania sobie w nim kolorków. Trafiłem do manuala i co znalazłem? --colors :) Tak, tak, w mc można ustawiać sobie tematy kolorów. Co prawda nie jest to jakieś super łatwe, ale da się. Efekty moich prac zamieszczam w załącznikach.
Skrypt kolejkowania
| Kod: |
#!/usr/bin/ruby
# Katalog z kolejką plików torrent do pobrania. Pliki są pobierane od najstarszego do najmłodszego.
queueDir = "/home/rasgan/downloads/_torrent/"
# Katalog z sesją rtorrent. Z tego katalogu będziemy pobierali ilość aktualnie pobieranych plików.
sessionDir = "/home/rasgan/.rtorrent/session/"
# Katalog obserwowany przez rtorrent. Do tego katalogu będziemy kopiowali pliki z kolejki do pobrania.
watchDir = "/home/rasgan/.rtorrent/loading/"
# Maksymalna liczba pobierań
maxDownloads = 2
# Wykonuj program w nieskończonej pętli co 60 sekund
loop do
# Tworzymy zmienne potrzebne w programie
# Tablica aktualnie pobieranych torrentów
currentDownload = Array.new
# Lista torrentów oczekująca w kolejce na pobranie
queueList = Array.new
# Data ostatniej zmiany najstarszego kolejkowanego pliku
oldiestQueueFileTime = 0
# Nazwa najstarszego kolejkowanego pliku
oldiestQueueFile = ""
# Utworzenie tablicy z listą aktualnie pobieranych plików torrent
# Dla każdego elementu katalogu sessionDir sprawdź czy jest on plikiem i czy ma rozszerzenie torrent. Jeśli spełnia warunki wtedy dodaj go do listy pobieranych torrentów currentDownload.
Dir::entries( sessionDir ).each{ |plik|
if File::file?( sessionDir + plik ) && !plik.grep(/\.torrent$/).empty? then
currentDownload << [ plik ]
end
}
# Sprawdź czy ilość aktualnie pobieranych plików jest mniejsza od maksymalnej ilości jednoczesnych pobrań. Jeśli tak jest wtedy znajdź najstarszy plik w kolejce (queueDir) i przenieś go do katalogo obserwowanego przez rtorrent (watchDir)
if currentDownload.size < maxDownloads
# Dla każdego elementu queueDir sprawdź czy jest plikiem i czy ma rozszerzenie torrent. Jeśli tak pobierz datę jego ostatniej zmiany i sprawdź czy jest najstarszym plikiem w katalogu.
Dir::entries( queueDir ).each{ |plik|
if File::file?( queueDir + plik ) && !plik.grep(/\.torrent$/).empty?
#queueList << [ plik ]
fileTime = File::ctime( queueDir + plik.to_s )
if oldiestQueueFileTime == 0 || oldiestQueueFileTime > fileTime
oldiestQueueFileTime = fileTime
oldiestQueueFile = plik.to_s
end
end
}
# znaleziono najstarszy plik w katalogu. Przenieś go z kolejki do folderu obserwowanego przez rtorrent.
if oldiestQueueFile != ""
File.rename( queueDir + oldiestQueueFile, watchDir + oldiestQueueFile)
end
end
# poczekaj 60 sekund i wznów działanie programu
sleep 60
end
|
mc.jpg Mój Commander |
 |
| Plik ściągnięto 74 raz(y) 180,28 KB |
|
_________________ Szczęścia w mrokach... |
| |
|