App-Kramerius-To-Images
view release on metacpan or search on metacpan
use warnings;
use App::Kramerius::V4;
use Class::Utils qw(set_params);
use Cwd qw(cwd);
use Data::Kramerius;
use English;
use Error::Pure qw(err);
use File::Spec::Functions qw(catfile);
use Getopt::Std;
use HTTP::Request;
use IO::Barf qw(barf);
use JSON::XS;
use LWP::UserAgent;
use METS::Files;
use Perl6::Slurp qw(slurp);
our $VERSION = 0.04;
# Constructor.
sub new {
if ($self->{'_kramerius_obj'}->version == 3) {
# URI for METS.
my $mets_uri = $self->{'_kramerius_obj'}->url.'kramerius/mets/'.$kramerius_id.
'/'.$object_id;
# Get METS.
if ($self->{'_opts'}->{'v'}) {
print "Downloads $mets_uri\n";
}
my $req = HTTP::Request->new('GET' => $mets_uri);
my $res = $self->{'lwp_user_agent'}->request($req);
my $mets;
if ($res->is_success) {
$mets = $res->content;
# Get images from METS file.
my $obj = METS::Files->new(
'mets_data' => $mets,
);
'Message', $res->message;
}
} elsif ($self->{'_kramerius_obj'}->version == 4) {
# URI for children JSON.
my $json_uri = $self->{'_kramerius_obj'}->url.'search/api/v5.0/item/uuid:'.
$object_id.'/children';
# Get JSON.
my $req = HTTP::Request->new('GET' => $json_uri);
my $res = $self->{'lwp_user_agent'}->request($req);
my $json;
if ($res->is_success) {
$json = $res->content;
barf(catfile($dir_to_store_files, $object_id.'.json'), $json);
} else {
err "Cannot get '$json_uri' URI.",
'HTTP code', $res->code,
'message', $res->message;
}
# object_id Kramerius object id (could be page, series or book edition).
=head1 DEPENDENCIES
L<App::Kramerius::V4>,
L<Class::Utils>,
L<Data::Kramerius>,
L<English>,
L<Error::Pure>,
L<Getopt::Std>,
L<HTTP::Request>,
L<IO::Barf>,
L<JSON::XS>,
L<LWP::UserAgent>,
L<METS::Files>,
L<Perl6::Slurp>.
=head1 SEE ALSO
=over
- xt
requires:
App::Kramerius::V4: 0
Class::Utils: 0
Cwd: 0
Data::Kramerius: 0
English: 0
Error::Pure: 0
File::Spec::Functions: 0
Getopt::Std: 0
HTTP::Request: 0
IO::Barf: 0
JSON::XS: 0
LWP::UserAgent: 6
METS::Files: 0
Perl6::Slurp: 0
perl: 5.6.0
resources:
bugtracker: https://github.com/michal-josef-spacek/App-Kramerius-To-Images/issues
homepage: https://github.com/michal-josef-spacek/App-Kramerius-To-Images
license: http://opensource.org/licenses/bsd-license.php
Makefile.PL view on Meta::CPAN
readme_from 'bin/kramerius2images';
recursive_author_tests('xt');
requires 'App::Kramerius::V4';
requires 'Class::Utils' => 0;
requires 'Cwd' => 0;
requires 'Data::Kramerius' => 0;
requires 'English' => 0;
requires 'Error::Pure' => 0;
requires 'File::Spec::Functions' => 0;
requires 'Getopt::Std' => 0;
requires 'HTTP::Request' => 0;
requires 'IO::Barf' => 0;
requires 'JSON::XS' => 0;
requires 'LWP::UserAgent' => 6;
requires 'METS::Files' => 0;
requires 'Perl6::Slurp' => 0;
resources 'bugtracker' => 'https://github.com/michal-josef-spacek/App-Kramerius-To-Images/issues',
resources 'homepage' => 'https://github.com/michal-josef-spacek/App-Kramerius-To-Images';
resources 'repository' => 'git://github.com/michal-josef-spacek/App-Kramerius-To-Images';
test_requires 'English' => 0;
test_requires 'Error::Pure::Utils' => 0;
( run in 0.534 second using v1.01-cache-2.11-cpan-de7293f3b23 )