Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use Mojolicious::Lite;
- get '/' => sub {
- my $self = shift;
- my $url = "http://api.powerhousemuseum.com/api/v1/item/970/xml/?api_key=8fbb61ea34d6f5d";
- my @items_detail =
- $self->ua->max_redirects(5)->get("$url")->res->dom->find('result > item')
- ->map(
- sub {
- {
- names => do { my $u = $_->at('names item'); $u ? $u->text : '' },
- title => do { my $u = $_->at('title'); $u ? $u->text : '' },
- summary => do { my $u = $_->at('summary'); $u ? $u->text : '' },
- description => do { my $u = $_->at('description'); $u ? $u->text : '' },
- importance => do { my $u = $_->at('importance'); $u ? $u->text : '' },
- registration_number => do { my $u = $_->at('registration_number'); $u ? $u->text : '' },
- thumbnail => do { my $u = $_->at('thumbnail url'); $u ? $u->text : 'http://i.imgur.com/NUo6Z.gif' },
- multimedia_uri => do { my $u = $_->at('multimedia_uri'); $u ? $u->text : '' },
- };
- }
- )->each;
- $self->render( 'item', items_detail => \@items_detail );
- };
- #start the webapp:
- app->start('daemon');
- #Start template files:
- __DATA__
- @@ item.html.ep
- <h1>Item detail</h1>
- <dl>
- % for my $d (@$items_detail) {
- % if ($d->{title} !~ /None/) {
- <dt><b>Title</b><dt>
- <dd><%= $d->{title} %><dd>
- %}
- % if ($d->{names} !~ /None/) {
- <dt><b> Name </b></dt>
- <dd><%= $d->{names} %></dd>
- %}
- % if ($d->{summary} !~ /None/) {
- <dt><b> Summary </b></dt>
- <dd><%= $d->{summary} %></dd>
- %}
- % if ($d->{description} !~ /None/) {
- <dt><b> Description </b></dt>
- <dd><%= $d->{description} %></dd>
- %}
- % if ($d->{importance} !~ /None/) {
- <dt><b> Importance </b></dt>
- <dd><%= $d->{importance} %></dd>
- %}
- % if ($d->{registration_number} !~ /None/) {
- <dt><b> Registration Number </b></dt>
- <dd><%= $d->{registration_number} %></dd>
- %}
- <dt><b> Thumbnail </b></dt>
- <dd><img src="<%= $d->{thumbnail} %>" height="160" width="160" /></dd>
- % if ($d->{multimedia_uri} !~ /None/) {
- <dt><b> Display Multimedia From Remote REST resource </b></dt>
- <dd><%= $d->{multimedia_uri}%></dd>
- %}
- % }
- </dl>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement