X-Git-Url: http://git.indexdata.com/?p=irspy-moved-to-github.git;a=blobdiff_plain;f=lib%2FZOOM%2FIRSpy.pm;fp=lib%2FZOOM%2FIRSpy.pm;h=2e90e79cf05aa8d03bfb4ec35d2b675e354d646b;hp=d330113440c812a5f1c9f829645a444a7d907b47;hb=847531a8ed9aff2c7d50e17aa08c9f24fc28a265;hpb=375c2174b533a40fa4c4090ce0df7862ea2577eb diff --git a/lib/ZOOM/IRSpy.pm b/lib/ZOOM/IRSpy.pm index d330113..2e90e79 100644 --- a/lib/ZOOM/IRSpy.pm +++ b/lib/ZOOM/IRSpy.pm @@ -18,7 +18,8 @@ use ZOOM::IRSpy::Connection; use ZOOM::IRSpy::Stats; use ZOOM::IRSpy::Utils qw(cql_target render_record irspy_xpath_context irspy_make_identifier - irspy_record2identifier); + irspy_record2identifier calc_reliability_stats + modify_xml_document); our @ISA = qw(); our $VERSION = '1.01'; @@ -305,9 +306,20 @@ sub _rewrite_irspy_record { } +my $_reliabilityField = { + reliability => [ reliability => 0, + "Calculated reliability of server", + "e:metaInfo/i:reliability" ], +}; + sub _rewrite_zeerex_record { my($conn, $rec, $oldid) = @_; + # Add reliability score + my $xc = irspy_xpath_context($rec); + my($nok, $nall, $percent) = calc_reliability_stats($xc); + modify_xml_document($xc, $_reliabilityField, { reliability => $percent }); + my $p = $conn->package(); $p->option(action => "specialUpdate"); my $xml = $rec->toString(); @@ -317,7 +329,6 @@ sub _rewrite_zeerex_record { # This is the expression in the ID-making stylesheet # ../../zebra/zeerex2id.xsl - my $xc = irspy_xpath_context($rec); my $id = irspy_record2identifier($xc); if (defined $oldid && $id ne $oldid) { warn "IDs differ (old='$oldid' new='$id')";