X-Git-Url: http://git.indexdata.com/?p=irspy-moved-to-github.git;a=blobdiff_plain;f=lib%2FZOOM%2FIRSpy.pm;h=0dc97c29d1b265f116a8cc14c25680b05b90d480;hp=5e6519f686018c7b582c5bd32c84d00f1fcc1afb;hb=HEAD;hpb=6d012b5c316b35ce43de6eba65600cb24e6961cf diff --git a/lib/ZOOM/IRSpy.pm b/lib/ZOOM/IRSpy.pm index 5e6519f..0dc97c2 100644 --- a/lib/ZOOM/IRSpy.pm +++ b/lib/ZOOM/IRSpy.pm @@ -77,7 +77,7 @@ sub new { if defined $user; my $conn = new ZOOM::Connection($dbname, 0, @options) - or die "$0: can't connection to IRSpy database 'dbname'"; + or die "$0: can't connect to IRSpy database 'dbname'"; my $xslt = new XML::LibXSLT; @@ -141,7 +141,7 @@ sub var { sub connect_to_registry { my %args = @_; - # XXX: we could also handle her: user, password, elementSetName + # XXX: we could also handle here: user, password, elementSetName my $database = $ENV{IRSpyDbName} || "localhost:8018/IR-Explain---1"; @@ -382,8 +382,10 @@ sub _rewrite_zeerex_record { my($nok, $nall, $percent) = calc_reliability_stats($xc); modify_xml_document($xc, $_specialFields, { reliability => $percent }); - if (!defined $oldid) { - # New record: generate a UDB for it. + my $xpath = $_specialFields->{udb}->[3]; + my $value = $xc->findvalue($xpath); + if (!defined $oldid && (!defined $value || $value eq '')) { + # New record with no explicit UDB: generate a UDB for it. modify_xml_document($xc, $_specialFields, { udb => _next_udb() }); }