Skip to content
Snippets Groups Projects
Commit 2f0d48bf authored by Gerhard Gonter's avatar Gerhard Gonter :speech_balloon:
Browse files

more selectors for policies statistics

parent 6d2a99a5
Branches
No related tags found
No related merge requests found
......@@ -112,8 +112,8 @@ my $op_mode= 'unknown';
# ======================================================================
# BEGIN OT2UT: Othes to Utheses
# my $ot2ut_context= 'ot2ut-entw'; # TODO: parametrize
my $ot2ut_context= 'ot2ut-test'; # TODO: parametrize
my $ot2ut_context= 'ot2ut-entw'; # TODO: parametrize
# my $ot2ut_context= 'ot2ut-test'; # TODO: parametrize
my $oma_sleep_time= 10;
my %map_ot2ut_roles=
......@@ -169,6 +169,9 @@ my $ignore_errors= 0;
if ($0 eq './ot2ut.pl') { $op_mode= 'ot2ut'; $do_upload= 1; $MAX_SYNC= 1; }
if ($0 eq './oma.pl') { $op_mode= 'oma'; $do_upload= 1; }
my $flag_add_utheses_policies= 1;
my $flag_add_identifiers= 1;
my %doc_embargo_dates;
# END OT2UT: Othes to Utheses
# ======================================================================
......@@ -394,6 +397,10 @@ elsif ($op_mode eq 'debug_filenames')
{
debug_filenames();
}
elsif ($op_mode eq 'update-policies')
{
update_policies();
}
elsif ($op_mode eq 'policies-stats')
{
policies_stats();
......@@ -3427,7 +3434,7 @@ mysql> select count(*), einverstaendnis, sperre, full_text_status
{
$policies->{abstract_locked}= $policies->{keywords_locked}= 1;
=begin commment
=begin comment
mysql> select count(*), abstract_nicht_anzeigen from eprint group by abstract_nicht_anzeigen;
+----------+-------------------------+
......@@ -3907,7 +3914,7 @@ sub update_policies
utheses_upload_result_json_path => $utheses_upload_result_json_path,
};
map { $full_data->{$_}= $row->{$_} } qw(eprint_status einverstaendnis sperre full_text_status);
map { $full_data->{$_}= $row->{$_} } qw(eprint_status einverstaendnis sperre full_text_status urn doi);
# $show++ if ($docs->{cnt_embargo} > 0);
# $show++ if ($docs->{cnt_public} > 0 && $docs->{cnt_restricted} > 0);
......@@ -3982,7 +3989,7 @@ sub policies_stats
elsif ($context eq 'ot2ut-entw') { $context= 'entw'; }
elsif ($context eq 'ot2ut-prod') { $context= 'prod'; }
$synced{$eprint_id}->{$context}= $lastmod;
$synced{$eprint_id}->{$context}= [ $lastmod, $utheses_id ];
}
# MAIN PART: analyze othes policies collection
......@@ -3990,6 +3997,15 @@ sub policies_stats
my $cur_utp= $col_utp->find({});
my @columns= qw(eprint_status einverstaendnis sperre hds fts docs pub restr errors);
if ($flag_add_utheses_policies)
{
push (@columns, qw(lrq kwl absl ftl));
}
if ($flag_add_identifiers)
{
push (@columns, qw(urn doi));
}
my $cctab= new cctab(columns => \@columns);
my $max; #= 1000;
......@@ -4000,8 +4016,8 @@ sub policies_stats
last unless (defined ($row_utp));
# print __LINE__, " row_utp: ", Dumper($row_utp); last;
my ($eprint_id, $eprint_status, $date_sperre, $einverstaendnis, $lastmod, $full_text_status, $sperre, $cnt_errors, $cnt_warnings, $docs)=
map { $row_utp->{$_} } qw(eprint_id eprint_status date_sperre einverstaendnis lastmod full_text_status sperre cnt_errors cnt_warnings docs);
my ($eprint_id, $eprint_status, $date_sperre, $einverstaendnis, $lastmod, $full_text_status, $sperre, $cnt_errors, $cnt_warnings, $docs, $utp, $urn, $doi)=
map { $row_utp->{$_} } qw(eprint_id eprint_status date_sperre einverstaendnis lastmod full_text_status sperre cnt_errors cnt_warnings docs ut_public urn doi);
my ($cnt_docs, $cnt_public, $cnt_restricted)=
map { $docs->{$_} } qw(cnt_docs cnt_public cnt_restricted);
......@@ -4014,22 +4030,50 @@ sub policies_stats
$has_date_sperre=($date_sperre lt $ts_now) ? 'past' : 'future';
}
my $bucket= $cctab->bucket($eprint_status, $einverstaendnis, $sperre, $has_date_sperre, $full_text_status, $cnt_docs, $cnt_public, $cnt_restricted, $has_errors);
my @bucket_selectors= ($eprint_status, $einverstaendnis, $sperre, $has_date_sperre, $full_text_status, $cnt_docs, $cnt_public, $cnt_restricted, $has_errors);
my ($utptp, $lrq, $kwl, $absl, $ftl);
my $utpt= $utp->{thesis};
if (defined ($utpt))
{
($utptp, $urn, $doi)= map { $utpt->{$_} } qw(policies urn doi);
}
if (defined ($utptp))
{
($lrq, $kwl, $absl, $ftl)= map { $utptp->{$_} } qw(lock_request keywords_locked abstract_locked fulltext_locked);
}
if ($flag_add_utheses_policies)
{
push (@bucket_selectors, $lrq, $kwl, $absl, $ftl);
}
if ($flag_add_identifiers)
{
$urn= 'present' if (defined ($urn));
$doi= 'present' if (defined ($doi));
push (@bucket_selectors, $urn, $doi);
}
my $bucket= $cctab->bucket(@bucket_selectors);
$bucket->{othes}++;
push (@{$bucket->{othes_ids}} => $eprint_id);
my $found_utheses= 0;
if (exists ($synced{$eprint_id}))
{
foreach my $context (@contexts)
{
if (exists ($synced{$eprint_id}->{$context}))
{
my $x= $synced{$eprint_id}->{$context};
$bucket->{$context}++;
push (@{$bucket->{$context . '_ids'}} => $eprint_id);
$found_utheses++;
push (@{$bucket->{$context . '_ids'}} => [ $eprint_id, $x->[1] ]);
}
}
delete($synced{$eprint_id});
}
delete($synced{$eprint_id}) if (exists ($synced{$eprint_id}));
last if (defined($max) && --$max <= 0);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment