Mercurial > repos > cpt > cpt_psm_prep
view lib/CPT/Chado/GMOD_Conf.pm @ 1:d724f34e671d draft default tip
planemo upload commit 94b0cd1fff0826c6db3e7dc0c91c0c5a8be8bb0c
author | cpt |
---|---|
date | Mon, 05 Jun 2023 02:50:07 +0000 |
parents | |
children |
line wrap: on
line source
package CPT::Chado::GMOD_Conf; use Moose; has 'database_identifier' => ( is => 'rw', isa => 'Str' ); has 'gmod_root' => ( is => 'rw', isa => 'Str', default => '/usr/share/gmod/' ); has 'database' => ( is => 'rw', isa => 'Str' ); has 'username' => ( is => 'rw', isa => 'Str' ); has 'password' => ( is => 'rw', isa => 'Str' ); has 'host' => ( is => 'rw', isa => 'Str', default => 'localhost' ); has 'port' => ( is => 'rw', isa => 'Int', default => 5432 ); sub load_config { my ( $self, $identifier ) = @_; open( my $db_info, '<', $self->gmod_root() . "conf/${identifier}.conf" ); while (<$db_info>) { chomp $_; if ( $_ =~ /DBUSER=/ ) { $self->username( substr( $_, 7 ) ); } elsif ( $_ =~ /DBPASS=/ ) { $self->password( substr( $_, 7 ) ); } elsif ( $_ =~ /DBNAME=/ ) { $self->database( substr( $_, 7 ) ); } } close($db_info); } sub get_connector { my ( $self, $identifier ) = @_; $self->load_config($identifier); use DBI; my $dbh = DBI->connect( sprintf( "dbi:Pg:dbname=%s;host=%s;port=%s;", $self->database(), $self->host(), $self->port() ), $self->username(), $self->password() ); return $dbh; } no Moose; 1; __END__ =pod =encoding UTF-8 =head1 NAME CPT::Chado::GMOD_Conf =head1 VERSION version 1.99.4 =head1 AUTHOR Eric Rasche <rasche.eric@yandex.ru> =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2014 by Eric Rasche. This is free software, licensed under: The GNU General Public License, Version 3, June 2007 =cut