ACME-QuoteDB
view release on metacpan or search on metacpan
lib/ACME/QuoteDB/LoadDB.pm view on Meta::CPAN
# with Text::CSV only use 'perl csv loader'
# 'one time' db load performance not a concern
BEGIN {local $ENV{PERL_TEXT_CSV} = 0}
use aliased 'ACME::QuoteDB::DB::Attribution' => 'Attr';
use aliased 'ACME::QuoteDB::DB::QuoteCatg' => 'QuoteCatg';
use aliased 'ACME::QuoteDB::DB::Category' => 'Catg';
use aliased 'ACME::QuoteDB::DB::Quote' => 'Quote';
use aliased 'ACME::QuoteDB::DB::DBI' => 'QDBI';
use File::Basename qw/dirname basename/;
use File::Glob qw(:globally :nocase);
use Encode qw/is_utf8 decode/;
use Data::Dumper qw/Dumper/;
use Carp qw/carp croak/;
use Text::CSV;
use Readonly;
use DBI;
# if not in utf8 latin1 is assumed
my $FILE_ENCODING = 'iso-8859-1';
lib/ACME/QuoteDB/LoadDB.pm view on Meta::CPAN
=head4 Data Related Parameters
=over 4
=item file or directory - one or the other required (not both)
if file, must be in our defined format, full path is needed.
if directory, full path is needed, can supply a basic glob type filter.
example:
{ file => '/home/me/data/simpsons_quotes.csv' }
{ dir => '/home/me/data/*.csv' }
=item file_format - required
t/01-load_quotes.t view on Meta::CPAN
#$self->debug_record;
$self->write_record;
}
}
}
package main;
use File::Basename qw/dirname/;
use File::Spec;
# simple glob pattern accepted
my $py_quot = File::Spec->catfile(
dirname(__FILE__), 'data', 'www.amk.ca', 'quotations',
'python-quotes', '*.html'
);
my $load_db = LoadQuoteDBFromHtml->new({
dir => $py_quot,
file_format => 'html',
create_db => 1, # first run, create the db
# provide a category for all (if not in data)
( run in 0.517 second using v1.01-cache-2.11-cpan-49f99fa48dc )