scatch new application level API
[Biblio-RFID.git] / scripts / program.pl
index 4f9eaff..122a81a 100755 (executable)
@@ -9,23 +9,26 @@ use lib 'lib';
 use RFID::Biblio::Readers;
 use RFID::Biblio::RFID501;
 
-my $only;
+my $reader;
+my $afi;
 
 GetOptions(
-       'only=s', => \$only,
+       'reader=s', => \$reader,
+       'afi=i',    => \$afi,
 ) || die $!;
 
 my ( $sid, $content ) =  @ARGV;
-die "usage: $0 E0_RFID_SID content\n" unless $sid && $content;
+die "usage: $0 [--reader regex_filter] [--afi 214] E0_RFID_SID [barcode]\n" unless $sid && ( $content | $afi );
 
-my @rfid = RFID::Biblio::Readers->available( $only );
+my @rfid = RFID::Biblio::Readers->available( $reader );
 
 foreach my $rfid ( @rfid ) {
        my $visible = $rfid->scan;
        foreach my $tag ( keys %$visible ) {
                next unless $tag eq $sid;
                warn "PROGRAM $tag with $content\n";
-               $rfid->write_blocks( $tag, RFID::Biblio::RFID501->from_hash( content => $content ) );
+               $rfid->write_blocks( $tag => RFID::Biblio::RFID501->from_hash({ content => $content }) );
+               $rfid->write_afi(    $tag => chr($afi) ) if $afi;
        }
 }