diff --git a/.gitignore b/.gitignore index e7d115ba111aadeb1f83e8f5bb658d9985f86f89..c00fa22e192bf18637beec19d54542c37e60499c 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,5 @@ Q* PDS_backing.pages latest index.html +P31_cnt +authctrl_P31_cnt.tsv diff --git a/lib/PDS.pm b/lib/PDS.pm index 68241a5af1626c3665e8fcece51798f67339b114..ba18b8b96e0b2e3117c56d890d6f953f81680c6e 100644 --- a/lib/PDS.pm +++ b/lib/PDS.pm @@ -219,7 +219,7 @@ sub print_page_info print "highest_page_num=[$self->{highest_page_num}]\n"; my $ps= $self->{page_skips}; - print "page_skips: ", join (', ', map { $_. ' <= '. $ps->{$_}.'x' } sort keys %$ps), "\n"; + print "page_skips: ", join (', ', map { $_. ' <= '. $ps->{$_}.'x' } sort { $a <=> $b } keys %$ps), "\n"; } sub load_page diff --git a/wdq1.pl b/wdq1.pl index 079e1a2f58cac61e6274b387332bf168aedd5f5b..d1e4d7d1df5238cf807e6a804e2b8eb6c09e61e3 100755 --- a/wdq1.pl +++ b/wdq1.pl @@ -432,18 +432,32 @@ my $fo_count= $fo_rec->open(); my $authctrl; if ($ty eq 'item') { + my $use_authctrl= 0; foreach my $x (@authctrl) { if (exists ($jc->{$x})) { + $use_authctrl= 1; + last; + } + } + + if (!$use_authctrl && exists ($jc->{P31})) + { + my $P31= $jc->{P31}; + my $P31val= $P31->[0]->{mainsnak}->{datavalue}->{value}->{id}; + # print __LINE__, " P31=[$P31] => [$P31val]\n"; + $use_authctrl= 1 if ($P31val eq 'Q5'); + } + + if ($use_authctrl) + { $authctrl= { 'id' => $id, 'tlt_l' => \%tlt_l, 'tlt_d' => \%tlt_d, }; - last; - } } }