Patrick Hochstenbach
and 4 contributors

NAME

Catmandu::Importer::Atom - Package that imports Atom feeds

SYNOPSIS

    use Catmandu::Importer::Atom;

    my $importer = Catmandu::Importer::Atom->new(url => "...");

    my $n = $importer->each(sub {
        my $hashref = $_[0];
        # ...
    });

DATA MODEL

Each parsed Atom entry is transformed into a hash ref:

    {
        id         => '...' ,
        title      => '...' ,
        published  => '...' , 
        updated    => '...' ,
        summary    => '...' ,
        rights     => '...' ,
        content    => {
            mode => '...' ,
            type => '...' ,
            body => '...' ,
        } ,
        author     => {
            name  => '...' ,
            email => '...' ,
            uri   => '...' ,
            homepage => '...' ,
        } ,
        contributor => {
            name  => '...' ,
            email => '...' ,
            uri   => '...' ,
            homepage => '...' ,
        } ,
        category => [
            { term => '...' , label => '...' , scheme => '....' } ,
        ],
        link => [
            { rel => '...' , href => '...' , hreflang => '...' ,
              title => '...' , type => '...' , length => '...'} ,
        ],
        <<all other elements are added as name-value pairs>>
    }

METHODS

new(url => URL,[entries => [qw(...)])

Create a new Atom importer for the URL. Optionally provide a entries parameter with the feed items you want to import.

count

each(&callback)

...

Every Catmandu::Importer is a Catmandu::Iterable all its methods are inherited. The Catmandu::Importer::Atom methods are not idempotent: Atom feeds can only be read once.

SEE ALSO

Catmandu::Iterable