[Koha-patches] [PATCH] (bug #3558) fix build_browser_and_cloud
Nahuel ANGELINETTI
nahuel.angelinetti at biblibre.com
Thu Aug 27 11:29:44 CEST 2009
This patch, permit to take care of similar entries, if there is some diacritics or not.
---
misc/cronjobs/build_browser_and_cloud.pl | 35 ++++++++++++++++++++---------
1 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/misc/cronjobs/build_browser_and_cloud.pl b/misc/cronjobs/build_browser_and_cloud.pl
index 263d886..372c1f5 100755
--- a/misc/cronjobs/build_browser_and_cloud.pl
+++ b/misc/cronjobs/build_browser_and_cloud.pl
@@ -79,6 +79,7 @@ my %browser_result;
# the result hash for the cloud table
my %cloud_result;
+
while ((my ($biblionumber)= $sth->fetchrow)) {
$i++;
print "." unless $batch;
@@ -103,15 +104,19 @@ while ((my ($biblionumber)= $sth->fetchrow)) {
}
}
#deal with CLOUD part
- if ($cloud_tag) {
- foreach ($Koharecord->field($cloud_tag)) {
- my $line;
- foreach ($_->subfields()) {
- next if $_->[0]=~ /\d/;
- $line .= $_->[1].' ';
+ if ($cloud_tag && $Koharecord) {
+ if($Koharecord->field($cloud_tag)){
+ foreach ($Koharecord->field($cloud_tag)) {
+ my $line;
+ foreach ($_->subfields()) {
+ next if $_->[0]=~ /\d/;
+ $line .= $_->[1].' ';
+ }
+ $line =~ s/ $//;
+ $cloud_result{$line}++;
}
- $line =~ s/ $//;
- $cloud_result{$line}++;
+ }else{
+ print "!";
}
}
@@ -140,11 +145,19 @@ if ($browser_tag) {
}
# fills the cloud (tags) table
+my $sthver = $dbh->prepare("SELECT weight FROM tags WHERE entry = ? ");
+my $sthins = $dbh->prepare("insert into tags (entry,weight) values (?,?)");
+my $sthup = $dbh->prepare("UPDATE tags SET weight = ? WHERE entry = ?");
if ($cloud_tag) {
$dbh->do("truncate tags");
- my $sth = $dbh->prepare("insert into tags (entry,weight) values (?,?)");
- foreach (keys %cloud_result) {
- $sth->execute($_,$cloud_result{$_});
+ foreach my $key (keys %cloud_result) {
+ $sthver->execute($key);
+ if(my $row = $sthver->fetchrow_hashref){
+ my $count = $row->{weight} + $cloud_result{$key};
+ $sthup->execute($count, $key);
+ }else{
+ $sthins->execute($key,$cloud_result{$key});
+ }
}
}
# $dbh->do("unlock tables");
--
1.6.0.4
More information about the Koha-patches
mailing list