package BookPub::RDAS::Parser::ProductPrice::Google;

use lib '/app/tools/bookpub/lib';
use base 'BookPub::RDAS::Parser::ProductPrice';

sub _fieldConfig {
    {
        ProductPrice => {
            required => 1,
            tag      => 'span',
            class    => 'buy-price price',

            filter => sub {
                my $res = shift;
                $res =~ s/[\$\s]//g;
                return $res;
            }
        },

        Title => {
            required  => 1,
            tag       => 'div',
            class     => 'booktitle',
            container => 'BookPub::RDAS::Parser::ProductPrice::Google::Title'
        },

        Subtitle => {
            required  => 1,
            tag       => 'div',
            class     => 'booktitle',
            container => 'BookPub::RDAS::Parser::ProductPrice::Google::Subtitle'
        },

        Format => {
            required  => 1,
            tag       => 'div',
            class     => 'booktitle',
            container => 'BookPub::RDAS::Parser::ProductPrice::Google::Format'
        },

        Author => {
            required => 1,
            tag      => 'a',
            class    => 'secondary',
        },

        ISBN => {
            tag     => 'tr',
            content => '.*ISBN.*',

            filter => sub {
                my $res = shift;
                $res =~ s/ISBN//;
                $res =~ s/\s+//;
                return $res;
            }
        },

        Publisher => {
            tag     => 'li',
            content => '.*Publisher:.*',

            filter => sub {
                my $res = shift;
                $res =~ s/Publisher\s+//;
                return $res;
            }
        },

        CoverURL => {
            required  => 1,
            tag       => 'div',
            class     => 'bookcover',
            container => 'RDAS::Parser::Item::ImageSource'
        },

        Available => {
            tag   => 'a',
            class => 'gb-button-callout-hilite'
        },

    };
}

sub available {
    my $self = shift;

    my $available = $self->Available;

    return $available ? 1 : 0;
}

1;
