App-Kramerius-To-Images

 view release on metacpan or  search on metacpan

Images.pm  view on Meta::CPAN

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 {

Images.pm  view on Meta::CPAN

	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,
			);

Images.pm  view on Meta::CPAN

				'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;
		}

Images.pm  view on Meta::CPAN

 #         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

META.yml  view on Meta::CPAN

    - 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 )