#!hs2

# Skript zur Auswertung der Verbindungszeiten aus RasDial.log
# Version 1.0 by Raphaëla Corall
# erstellt nach einer Vorlage von Karl Pflästerer
#
# Selektionsmöglichkeit: von-/bis-Datum über Eingabe,
# Vorschlagswerte aus dem ersten/letzten Satz des Log
#
# Ausgabe der Tagessumme und des kumulierten Wertes je Datum im Hamster-Log

# ----------------------------------------------------
# Definitionen
# ----------------------------------------------------

var ( $logfileliste )
var ( $logfile )
var ( $listsize )
var ( $ok )
var ( $i )
var ( $listtext )
var ( $hour, _
$minute, _
$second )
var ( $from, _
$to )
var ( $z1, _
$z2 )
var ( $s_all, _
$s_day )
var ( $day )
var ( $line_out )

# ----------------------------------------------------
# Initialisierungen
# ----------------------------------------------------

$s_all = 0
$s_day = 0
$day = " "

$logfileliste = ListAlloc
$logfile = HamLogsPath + "RasDial.log"

Listload ( $logfileliste, $logfile )

$listsize = ListCount ( $logfileliste )

$listtext = ListGet ( $logfileliste, 0 )
$from = Inputbox ( "von Datum" , "", copy($listtext, 1, 10), $ok )
if ( $ok = 1 )
$listtext = ListGet ( $logfileliste, ($listsize-1) )
$to = Inputbox ( "bis Datum" , "", copy($listtext, 1, 10), $ok )
endif

if ( $ok = 0 )
Listfree ( $logfileliste )
quit
endif

$day = $from

# ----------------------------------------------------
# Verarbeitungsschleife
# ----------------------------------------------------

for ( $i, 0, $listsize - 1, 1 )

$listtext = ListGet ( $logfileliste, $i )

if ( $day != copy($listtext, 1, 10) )
if ( $s_day <> 0 )
ausgabe
$s_day = 0
endif
$day = copy($listtext, 1, 10)
endif

if ( $from <= copy($listtext, 1, 10) && $to >= copy($listtext,1,10) )
$z1 = RE_Extract ( copy($listtext, 26, 8), "([0-9]+ )" )
$s_day = $s_day + int ( trim ( $z1 ) ) # Laufzeitfehler möglich bei kaputten Einträgen im Log
else
if ( $to < copy($listtext, 1, 10) )
$i = $listsize
endif
endif
endfor

# ----------------------------------------------------
# Abschlußarbeiten
# ----------------------------------------------------

if ( $s_day <> 0 )
ausgabe
endif

Listfree ( $logfileliste )

quit

# ----------------------------------------------------
# subrouts
# ----------------------------------------------------

sub ausgabe # Gesamtwert aufsummieren, Sekunden umrechnen + Ausgabe

$s_all = $s_all + $s_day
$minute = $s_day / 60
$second = $s_day % 60

$line_out = $day + " " + str($minute,3,"0") + ":" + str($second,2)

$hour = $s_all / 3600
$z1 = $s_all % 3600
$minute = $z1 / 60
$second = $z1 % 60

$line_out = $line_out + " " + str($hour,2) + ":" + str($minute,2) + ":" + str($second,2)

print ( $line_out )

endsub




download Version 1.0 (zip-file, 1146 byte)

download Version 1.1 (zip-file, 1596 byte)

download Version 1.2 (zip-file, 2042 byte)  benötigt htime.hsm (zip-file, 1160 byte)

zurück