| Net-Amazon documentation | Contained in the Net-Amazon distribution. |
Net::Amazon::Property::CE - Class for consumer electronics on amazon.com
use Net::Amazon;
# ...
if($resp->is_success()) {
for my $prop ($resp->properties) {
print join("/", $prop->platforms()), " ",
$prop->title(), " ",
$prop->publisher(), "\n";
}
Net::Amazon::Property::CE is derived from Net::Amazon::Property and on
top of the all-purpose methods the base class provides, it offers specialized
accessors for consumer electronic parameters.
Returns a list of the consumer electronic's platforms. There's also a
platform() method which just returns the first platform.
Returns a list of the consumer electronic's features. There's also a
feature() method which just returns the first feature.
Returns the consumer electronic's publishing company as a string.
Returns the consumer electronic's title as a string.
Returns the consumer electronic's EAN number.
Returns the consumer electronic's label type as a string.
Returns the consumer electronic's studio type as a string.
Returns the consumer electronic's brand type as a string.
Returns the consumer electronic's manufacturer type as a string.
Returns the consumer electronic's mpn (manufacturer's part number) as a string.
Returns the consumer electronic's model as a string.
Returns the consumer electronic's warranty as a string.
Initializes an object by passing a hash of hashes structure containing the XML
data returned from the service. Usually, this is just used by Net::Amazon
internally to initialize objects for on backcoming data.
Check out Net::Amazon::Property for all-purpose accessors, like
year, OurPrice, ListPrice, etc.
Christopher Boumenot, <boumenot@gmail.com>
Copyright 2006 by Mike Schilli <m@perlmeister.com>
This library is free consumer electronic; you can redistribute it and/or modify it under the same terms as Perl itself.
| Net-Amazon documentation | Contained in the Net-Amazon distribution. |
###################################################################### package Net::Amazon::Property::CE; ###################################################################### use warnings; use strict; use base qw(Net::Amazon::Property); __PACKAGE__->make_accessor($_) for qw(brand ean label manufacturer model mpn publisher studio upc warranty); __PACKAGE__->make_array_accessor($_) for qw(platforms features); ################################################## sub new { ################################################## my($class, %options) = @_; my $self = $class->SUPER::new(%options); bless $self, $class; # Bless into this class if(exists $options{xmlref}) { $self->init_via_xmlref($options{xmlref}); } return $self; } ################################################## sub init_via_xmlref { ################################################## my($self, $xmlref) = @_; $self->SUPER::init_via_xmlref($xmlref); my $ref = $xmlref->{ItemAttributes}; $self->brand($ref->{Brand}); $self->ean($ref->{EAN}); $self->features($ref->{Feature}); $self->label($ref->{Label}); $self->manufacturer($ref->{Manufacturer}); $self->model($ref->{Model}); $self->mpn($ref->{MPN}); $self->platforms($ref->{Platform} || 'UNKNOWN'); $self->publisher($ref->{Publisher}); $self->studio($ref->{Studio}); $self->upc($ref->{UPC}); $self->warranty($ref->{Warranty}); $self->NumMedia($ref->{NumberOfItems}); } ################################################## sub platform { ################################################## my($self, $nameref) = @_; # Only return the first platform return ($self->platforms($nameref))[0]; } ################################################## sub feature { ################################################## my($self, $nameref) = @_; # Only return the first feature return ($self->features($nameref))[0]; } ################################################## sub as_string { ################################################## my($self) = @_; return join('/', $self->platforms) . ", " . '"' . $self->title . '"' . ", " . $self->_best_effort_price() . ", " . $self->ASIN; } 1; __END__