NAME
Datahub::Factory::Importer::PIDS - Insert PIDS from an external source
SYNOPSIS
use Datahub::Factory::Importer::PIDS;
use Data::Dumper qw(Dumper);
my $pids = Datahub::Factory::Importer::PIDS->new(
username => 'datahub',
api_key => 'datahub',
container_name => 'datahub'
);
$pids->temporary_table($pids->get_object('test.csv'), 'id');
DESCRIPTION
The module uses Catmandu to create a SQLite database from a CSV
containing an export of the Resolver
<https://github.com/PACKED-vzw/resolver> that can be used in Catmandu
fixes to insert PIDS (Persistent Identifiers).
The CSV's are stored on a protected Rackspace cloud files instance.
It has absolutely no use outside of the Datahub
<https://github.com/thedatahub/> use case.
PARAMETERS
username
Rackspace Cloud Files username to access the files.
api_key
API key for the Cloud Files user.
container_name
Name of the container where the files are stored. Optional, defaults
to datahub.
METHODS
get_object($filename)
Get the object called $filename from the Cloud files instance and
store it in /tmp. Only accepts CSV's.
Returns the local path of the object it just fetched.
temporary_table($csv_location, $id_column)
Create a SQLite database (in /tmp) that stores the CSV that is stored
in $csv_location. Create an _id column (as expected by
Catmandu::Fix::lookup_in_store) in the database from the column in
the CSV called $id_column.
Returns nothing.
AUTHOR
Pieter De Praetere <pieter at packed.be >
COPYRIGHT
Copyright 2017- PACKED vzw
LICENSE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
SEE ALSO
Datahub::Factory Catmandu