X-Git-Url: http://git.rot13.org/?p=zc;a=blobdiff_plain;f=zc-queue-inspect;h=0ab2bd570fc0ceb4118f68fe39b105d7e937ecea;hp=2f75590f1205339e73a8128593db867f9cf1310e;hb=HEAD;hpb=434e80d65d2d6b28a9b6ea6ddd9136a2e34e5343 diff --git a/zc-queue-inspect b/zc-queue-inspect index 2f75590..0ab2bd5 100755 --- a/zc-queue-inspect +++ b/zc-queue-inspect @@ -4,14 +4,16 @@ use strict; use Data::Dump qw(dump); use File::Slurp; +use POSIX qw(strftime); -use lib '.'; +use FindBin; +use lib "$FindBin::Bin/."; use Protocol; -my $debug = $ENV{DEBUG}; +my $debug = $ENV{DEBUG} // 0; $| = 1; -if ( $debug ) { +if ( $debug > 1 ) { warn "## protocol = ",dump( $protocol ); warn "## function_code_description = ",dump( $function_code_description ); } @@ -19,12 +21,22 @@ if ( $debug ) { my $raw; foreach my $filename ( @ARGV ) { - my $up_down = $1 if $filename =~ m/(up|down)/; + my ( $up_down, $t ); + if ( $filename =~ m/(\d+)\.(up|down|sent)/ ) { + $t = $1; + $up_down = $2; + } else { + warn "ERROR: can't parse $filename, skipping\n"; + next; + } my $raw = read_file $filename; - print "# $filename size:", -s $filename, " "; + print "# ",strftime("%Y-%m-%dT%H:%M:%S",localtime($t)), " $filename size:", -s $filename, " "; + $up_down = 'down' if $up_down eq 'sent'; my $hash = protocol_decode( $up_down, $raw ); - warn "hash = ",dump($hash); + warn "hash = ",dump($hash) if $debug; + + my $imei = $1 if $filename =~ m{queue/(\d+)}; my $function_code = $hash->{function_code} || die "no function_code"; my $fc_desc = $function_code_description->{$up_down}->{$function_code} || die "no function_code_description for $up_down $function_code"; @@ -36,6 +48,7 @@ foreach my $filename ( @ARGV ) { foreach my $data_id ( @{ $hash->{data_id_order} } ) { print join(" | ", + $imei, $hash->{up_down}, unpack('H*', chr($data_id)), $protocol->{$data_id}->{description},