[Koha-cvs] CVS: koha/C4 Context.pm,1.14,1.15

Paul POULAIN tipaul at users.sourceforge.net
Fri Aug 13 11:13:17 CEST 2004


Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17702/C4

Modified Files:
	Context.pm 
Log Message:
patch from A. Tarallo (for differents DB schemes)

Index: Context.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Context.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** Context.pm	5 Jun 2003 17:03:32 -0000	1.14
--- Context.pm	13 Aug 2004 09:13:14 -0000	1.15
***************
*** 17,20 ****
--- 17,23 ----
  
  # $Id$
+ # Revision History:
+ # 2004-08-11 A. Tarallo: Added the function db_escheme2dbi, tested my bugfixes,
+ # further  details about them in the code.
  
  package C4::Context;
***************
*** 101,104 ****
--- 104,117 ----
  # configuration values (duh).
  # Returns undef in case of error.
+ #
+ # Revision History:
+ # 2004-08-10 A. Tarallo: Added code that checks if a variable was already
+ # assigned and prints a message, otherwise create a new entry in the hash to
+ # be returned. 
+ # Also added code that complaints if finds a line that isn't a variable 
+ # assignmet and skips the line.
+ # Added a quick hack that makes the trasnlation between the db_schema
+ # and the DBI driver for that eschema.
+ #
  sub read_config_file
  {
***************
*** 122,135 ****
  		if (!/^\s*(\w+)\s*=\s*(.*?)\s*$/)
  		{
! 			# FIXME - Complain about bogus line
  			next;
  		}
  
  		# Found a variable assignment
! 		# FIXME - Ought to complain is this line sets a
! 		# variable that was already set.
! 		$var = $1;
! 		$value = $2;
! 		$retval->{$var} = $value;
  	}
  	close CONF;
--- 135,158 ----
  		if (!/^\s*(\w+)\s*=\s*(.*?)\s*$/)
  		{
! 			print STDERR 
! 				"$_ isn't a variable assignment, skipping it";
  			next;
  		}
  
  		# Found a variable assignment
! 		if ( exists $retval->{$1} )
! 		{
! 			print STDERR "$var was already defined, ignoring\n";
! 		}else{
! 		# Quick hack for allowing databases name in full text
! 			if ( $1 eq "db_scheme" )
! 			{
! 				$value = db_scheme2dbi($2);
! 			}else {
! 				$value = $2;
! 			}
! 			$var = $1;
!                         $retval->{$var} = $value;
! 		}
  	}
  	close CONF;
***************
*** 138,141 ****
--- 161,179 ----
  }
  
+ # db_scheme2dbi
+ # Translates the full text name of a database into de appropiate dbi name
+ # 
+ sub db_scheme2dbi
+ {
+ 	my $name = shift;
+ 
+ 	for ($name) {
+ 		if (/MySQL|mysql/) { return("mysql"); }
+ 		if (/Postgres|Pg|PostgresSQL/) { return("Pg"); }
+ 		if (/Oracle|oracle|ORACLE/) { return("Oracle"); }
+ 	}
+ 	return undef; 		# Just in case
+ }
+ 
  sub import
  {
***************
*** 165,168 ****
--- 203,208 ----
  =cut
  #'
+ # Revision History:
+ # 2004-08-10 A. Tarallo: Added check if the conf file is not empty
  sub new
  {
***************
*** 171,176 ****
  	my $self = {};
  
! 	# check that the specified config file exists
! 	undef $conf_fname unless (defined $conf_fname && -e $conf_fname);
  	# Figure out a good config file to load if none was specified.
  	if (!defined($conf_fname))
--- 211,217 ----
  	my $self = {};
  
! 	# check that the specified config file exists and is not empty
! 	undef $conf_fname unless 
! 		(defined $conf_fname && -e $conf_fname && -s $conf_fname);
  	# Figure out a good config file to load if none was specified.
  	if (!defined($conf_fname))





More information about the Koha-cvs mailing list