Cikl
view release on metacpan or search on metacpan
lib/Cikl/Smrt/FeedParserConfig.pm view on Meta::CPAN
package Cikl::Smrt::FeedParserConfig;
use strict;
use warnings;
use Data::Dumper;
use Config::Simple;
use Try::Tiny;
use Storable qw/dclone/;
use constant FIELDS => {
group => 'everyone',
parser => undef,
detecttime_format => undef,
detecttime_zone => undef,
feed => undef,
source => undef,
feed_limit => undef,
feed_user => undef,
feed_password => undef,
values => undef,
skipfirst => undef,
delimiter => undef,
fields => undef,
fields_map => undef,
mirror => undef,
zip_filename => undef,
regex => undef,
regex_values => undef,
node => undef,
node_xpath => undef,
subnode => undef,
period => undef,
disabled => undef,
elements => undef,
elements_map => undef,
attributes => undef,
attributes_map => undef
};
use constant REQUIRED_FIELDS => {
group => 1,
feed => 1,
source => 1,
parser => 1
};
sub new {
my $class = shift;
my $config_file = shift;
my $feed_name = shift;
my $config;
my $err;
try {
$config = Config::Simple->new($config_file);
} catch {
$err = shift;
};
if (defined($err)) {
die "Syntax error while parsing $config_file: $err";
}
my $config_data = $config->param(-block => 'default');
my $feed_rules = $config->param(-block => $feed_name);
if (!%$feed_rules) {
( run in 1.473 second using v1.01-cache-2.11-cpan-5837b0d9d2c )