Ciao a tutti! non pubblico articoli ormai da qualche giorno… sono stato parecchio impegnato XD….tanto per farvi un esempio, oggi è inziata l’università (matricola di ingegneria informatica)!!!!
Ma basta parlare di me…. ecco la novità: ho cominciato a scrivere un tool che potrebbe servire a molti di voi: un analizzatore dei log di eMule, che ,pensate un po, ho chiamato eMule Log analyzer
.
Il funzionamente è molto semplice: una volta editato il file per definire la versione del client in uso (il default è aMule, utilizzata dal sottoscritto) vi basta eseguire in un interprete Perl lo scriptino e vedrete magicamente comparire la lista degli ultimi download registrati dal Logfile di eMule!.
Per il momento ho inserito pochissime opzioni da riga di comando e soprattutto, le opzioni sono ancora pochissime, diciamo che in questi giorni non avrò il tempo di annoiarmi
Attenzione: Ci tengo a ribadire che è una versione mooolto giovane, mancano molte feature e potrebbero esserci bug, in definitiva il codice potrebbe cambiare di parecchio…. mi impegnerò anche a commentare il codice tranquilli!!!
Se avete consigli o idee per migliorare lo script, postate!
#!/usr/bin/perl -w
##############################################################
#### eMule Log Analyzer (unofficial) ####
#### Scritto da fatmatt Cikkense@gmail.com ####
#### Rilasciato sotto licenza GPL ####
##############################################################
###Analizza il log di emule ed estrae i download completati###
##############################################################
#SETUP VARIABILI
$CLIENT = "aMule";
$USER = $ENV{USER};
$PATH = "/home/".$USER."/.".$CLIENT;
#ATTENZIONE: la variabile PATH è pensata per sistemi Linux, se usate un sistema operativo diverso dovete cambiarla a mano
#È possibile che certi clients impostino una directory diversa, in caso, decommenta e setta a mano questa variabile:
#$PATH = "";
open(STREAM,"<$PATH/logfile") || die("ERRORE: Impossibile leggere il file di log di $CLIENT\n");
my @files;
while (<STREAM>) {
#Perl permette di scrivere codice poco Human readable XD
if (m/(.*)Download completato:(.*)/) {
push(@files,"Data: ".$1."---------------File:".$2);
}
}
close(STREAM);
#@files è un array con la lista dei file
#Parsing delle opzioni da riga di comando
if ($args[0]) {
$opt = $args[0];
} else {
$opt = "normal"
}
unless ($args[0]) {
print "Attenzione: Nessuna opzione indicata! avvio in modalità normale\n";
print "Lista file completati salvati nel file di log di $CLIENT : \n";
foreach my $file (@files) {
print $file."\n";
}
}
if ($opt eq "-s" || $opt eq "--store") {
if (-d "/home/$USER/.eMuleLogChecker") {
print "Esiste già un file di log per eMuleLogCheker, non ne verrà creato uno nuovo\n";
} else {
mkdir("/home/$USER/.eMuleLogChecker") || die("ERRORE: Impossibile creare la directory per i log di eMuleLogChecker");
}
open(STREAM,">>/home/$USER/.eMuleLogChecker/eMuleLogChecker.log") || die("ERRORE: Impossibile creare il log di eMuleLogChecker");
foreach my $downloaded (@files) {
print STREAM $downloaded."\n";
}
close(STREAM);
print "ATTENZIONE: I download ricavati dal file di log di $CLIENT sono stati aggiunti al file di log di eMuleLogChecker\n";
}
elsif ($opt eq "-l" || $opt eq "--listed") {
print "Ecco la lista dei file scaricati:\n";
}









0 risposte finora ↓
Non ci sono ancora commenti... Inizia tu riempiendo il modulo sottostante.