package Koha::Contrib::Tamil::Sitemaper; { $Koha::Contrib::Tamil::Sitemaper::VERSION = '0.020'; } # ABSTRACT: Class building Sitemap files for a Koha DB use Moose; extends 'AnyEvent::Processor'; use Koha::Contrib::Tamil::Koha; use Koha::Contrib::Tamil::Sitemaper::Writer; use Locale::TextDomain 'Koha-Contrib-Tamil'; has koha => ( is => 'rw', isa => 'Koha::Contrib::Tamil::Koha', required => 0, ); has url => ( is => 'rw', isa => 'Str' ); has verbose => ( is => 'rw', isa => 'Bool', default => 0 ); has sth => ( is => 'rw' ); has writer => ( is => 'rw', isa => 'Koha::Contrib::Tamil::Sitemaper::Writer' ); before 'run' => sub { my $self = shift; $self->koha( Koha::Contrib::Tamil::Koha->new() ) unless $self->koha; $self->writer( Koha::Contrib::Tamil::Sitemaper::Writer->new( url => $self->url ) ); my $sth = $self->koha->dbh->prepare( "SELECT biblionumber, timestamp FROM biblio" ); $sth->execute(); $self->sth( $sth ); }; override 'process' => sub { my $self = shift; my ($biblionumber, $timestamp) = $self->sth->fetchrow; return unless $biblionumber; $self->writer->write($biblionumber, $timestamp); return super(); }; before 'end_process' => sub { shift->writer->end(); }; override 'start_message' => sub { print __"Creation of Sitemap files\n"; }; override 'end_message' => sub { my $self = shift; print __x("Number of biblio records processed: {biblios}\n" . "Number of Sitemap files: {files}\n", biblios => $self->count, files => $self->writer->count ); }; no Moose; __PACKAGE__->meta->make_immutable; =pod =encoding UTF-8 =head1 NAME Koha::Contrib::Tamil::Sitemaper - Class building Sitemap files for a Koha DB =head1 VERSION version 0.020 =HEAD1 SYNOPSIS my $task = Koha::Contrib::Tamil->new( url => 'http://opac.mylibrary.org', verbose => 1 ); $task->run(); =head1 AUTHOR Frédéric Demians =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2012 by Fréderic Démians. This is free software, licensed under: The GNU General Public License, Version 3, June 2007 =cut __END__ 1;