[Jifty-commit] r437 - in jifty/trunk: . inc/Module lib/Jifty lib/Jifty/Script

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sat Dec 31 13:32:03 EST 2005


Author: glasser
Date: Sat Dec 31 13:32:01 2005
New Revision: 437

Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/inc/Module/AutoInstall.pm
   jifty/trunk/inc/Module/Install.pm
   jifty/trunk/inc/Module/Install/AutoInstall.pm
   jifty/trunk/inc/Module/Install/Base.pm
   jifty/trunk/inc/Module/Install/Can.pm
   jifty/trunk/inc/Module/Install/Fetch.pm
   jifty/trunk/inc/Module/Install/Include.pm
   jifty/trunk/inc/Module/Install/Makefile.pm
   jifty/trunk/inc/Module/Install/Metadata.pm
   jifty/trunk/inc/Module/Install/Scripts.pm
   jifty/trunk/inc/Module/Install/Share.pm
   jifty/trunk/inc/Module/Install/Win32.pm
   jifty/trunk/inc/Module/Install/WriteAll.pm
   jifty/trunk/lib/Jifty/Handle.pm
   jifty/trunk/lib/Jifty/Script/Schema.pm

Log:
 r52905 at david-glassers-powerbook-g4-15:  glasser | 2005-12-31 12:39:39 -0500
 Allow use of relative paths for SQLite.
 r52906 at david-glassers-powerbook-g4-15:  glasser | 2005-12-31 13:02:12 -0500
 Better: move database argument canonicalization into Jifty::Handle.
 r52907 at david-glassers-powerbook-g4-15:  glasser | 2005-12-31 13:29:40 -0500
 Patch now implemented as canonical_database_name.


Modified: jifty/trunk/inc/Module/AutoInstall.pm
==============================================================================
--- jifty/trunk/inc/Module/AutoInstall.pm	(original)
+++ jifty/trunk/inc/Module/AutoInstall.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/AutoInstall.pm - /usr/local/share/perl/5.8.7/Module/AutoInstall.pm"
+#line 1 "inc/Module/AutoInstall.pm - /Library/Perl/5.8.6/Module/AutoInstall.pm"
 package Module::AutoInstall;
 $Module::AutoInstall::VERSION = '1.00';
 

Modified: jifty/trunk/inc/Module/Install.pm
==============================================================================
--- jifty/trunk/inc/Module/Install.pm	(original)
+++ jifty/trunk/inc/Module/Install.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "/home/jesse/svk/jifty.org/jifty/trunk/inc/Module/Install.pm - /usr/local/share/perl/5.8.7/Module/Install.pm"
+#line 1 "/Users/glasser/BestPractical/jifty-trunk/inc/Module/Install.pm - /Library/Perl/5.8.6/Module/Install.pm"
 package Module::Install;
 use 5.004;
 

Modified: jifty/trunk/inc/Module/Install/AutoInstall.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/AutoInstall.pm	(original)
+++ jifty/trunk/inc/Module/Install/AutoInstall.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/AutoInstall.pm - /usr/local/share/perl/5.8.7/Module/Install/AutoInstall.pm"
+#line 1 "inc/Module/Install/AutoInstall.pm - /Library/Perl/5.8.6/Module/Install/AutoInstall.pm"
 package Module::Install::AutoInstall;
 use Module::Install::Base; @ISA = qw(Module::Install::Base);
 

Modified: jifty/trunk/inc/Module/Install/Base.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Base.pm	(original)
+++ jifty/trunk/inc/Module/Install/Base.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Base.pm - /usr/local/share/perl/5.8.7/Module/Install/Base.pm"
+#line 1 "inc/Module/Install/Base.pm - /Library/Perl/5.8.6/Module/Install/Base.pm"
 package Module::Install::Base;
 
 # Suspend handler for "redefined" warnings

Modified: jifty/trunk/inc/Module/Install/Can.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Can.pm	(original)
+++ jifty/trunk/inc/Module/Install/Can.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Can.pm - /usr/local/share/perl/5.8.7/Module/Install/Can.pm"
+#line 1 "inc/Module/Install/Can.pm - /Library/Perl/5.8.6/Module/Install/Can.pm"
 package Module::Install::Can;
 use Module::Install::Base; @ISA = qw(Module::Install::Base);
 $VERSION = '0.01';

Modified: jifty/trunk/inc/Module/Install/Fetch.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Fetch.pm	(original)
+++ jifty/trunk/inc/Module/Install/Fetch.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Fetch.pm - /usr/local/share/perl/5.8.7/Module/Install/Fetch.pm"
+#line 1 "inc/Module/Install/Fetch.pm - /Library/Perl/5.8.6/Module/Install/Fetch.pm"
 package Module::Install::Fetch;
 use Module::Install::Base; @ISA = qw(Module::Install::Base);
 

Modified: jifty/trunk/inc/Module/Install/Include.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Include.pm	(original)
+++ jifty/trunk/inc/Module/Install/Include.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Include.pm - /usr/local/share/perl/5.8.7/Module/Install/Include.pm"
+#line 1 "inc/Module/Install/Include.pm - /Library/Perl/5.8.6/Module/Install/Include.pm"
 package Module::Install::Include;
 use Module::Install::Base; @ISA = qw(Module::Install::Base);
 

Modified: jifty/trunk/inc/Module/Install/Makefile.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Makefile.pm	(original)
+++ jifty/trunk/inc/Module/Install/Makefile.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Makefile.pm - /usr/local/share/perl/5.8.7/Module/Install/Makefile.pm"
+#line 1 "inc/Module/Install/Makefile.pm - /Library/Perl/5.8.6/Module/Install/Makefile.pm"
 package Module::Install::Makefile;
 use Module::Install::Base; @ISA = qw(Module::Install::Base);
 

Modified: jifty/trunk/inc/Module/Install/Metadata.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Metadata.pm	(original)
+++ jifty/trunk/inc/Module/Install/Metadata.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Metadata.pm - /usr/local/share/perl/5.8.7/Module/Install/Metadata.pm"
+#line 1 "inc/Module/Install/Metadata.pm - /Library/Perl/5.8.6/Module/Install/Metadata.pm"
 package Module::Install::Metadata;
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);

Modified: jifty/trunk/inc/Module/Install/Scripts.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Scripts.pm	(original)
+++ jifty/trunk/inc/Module/Install/Scripts.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Scripts.pm - /usr/local/share/perl/5.8.7/Module/Install/Scripts.pm"
+#line 1 "inc/Module/Install/Scripts.pm - /Library/Perl/5.8.6/Module/Install/Scripts.pm"
 package Module::Install::Scripts;
 use Module::Install::Base; @ISA = qw(Module::Install::Base);
 $VERSION = '0.02';

Modified: jifty/trunk/inc/Module/Install/Share.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Share.pm	(original)
+++ jifty/trunk/inc/Module/Install/Share.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Share.pm - /usr/local/share/perl/5.8.7/Module/Install/Share.pm"
+#line 1 "inc/Module/Install/Share.pm - /Library/Perl/5.8.6/Module/Install/Share.pm"
 package Module::Install::Share;
 
 use Module::Install::Base;

Modified: jifty/trunk/inc/Module/Install/Win32.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/Win32.pm	(original)
+++ jifty/trunk/inc/Module/Install/Win32.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/Win32.pm - /usr/local/share/perl/5.8.7/Module/Install/Win32.pm"
+#line 1 "inc/Module/Install/Win32.pm - /Library/Perl/5.8.6/Module/Install/Win32.pm"
 package Module::Install::Win32;
 use Module::Install::Base; @ISA = qw(Module::Install::Base);
 

Modified: jifty/trunk/inc/Module/Install/WriteAll.pm
==============================================================================
--- jifty/trunk/inc/Module/Install/WriteAll.pm	(original)
+++ jifty/trunk/inc/Module/Install/WriteAll.pm	Sat Dec 31 13:32:01 2005
@@ -1,4 +1,4 @@
-#line 1 "inc/Module/Install/WriteAll.pm - /usr/local/share/perl/5.8.7/Module/Install/WriteAll.pm"
+#line 1 "inc/Module/Install/WriteAll.pm - /Library/Perl/5.8.6/Module/Install/WriteAll.pm"
 package Module::Install::WriteAll;
 use Module::Install::Base; @ISA = qw(Module::Install::Base);
 

Modified: jifty/trunk/lib/Jifty/Handle.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Handle.pm	(original)
+++ jifty/trunk/lib/Jifty/Handle.pm	Sat Dec 31 13:32:01 2005
@@ -31,19 +31,44 @@
 sub new {
     my $class = shift;
 
-    if (Jifty->config->framework('Database')->{Driver} eq 'Oracle') {
+    my $driver = Jifty->config->framework('Database')->{'Driver'};
+    if ($driver eq 'Oracle') {
         $ENV{'NLS_LANG'} = "AMERICAN_AMERICA.AL32UTF8";
         $ENV{'NLS_NCHAR'} = "AL32UTF8";
     }
    
     # We do this to avoid Jifty::DBI::Handle's magic reblessing, because
     # it breaks subclass methods.
-    my $driver_class  = "Jifty::DBI::Handle::".  Jifty->config->framework('Database')->{Driver};
+    my $driver_class  = "Jifty::DBI::Handle::".  $driver;
     $driver_class->require;
     unshift @ISA, $driver_class;
     return $class->SUPER::new();
 }
 
+=head2 canonical_database_name
+
+Returns the canonical name of the application's database (the actual name that will
+be given to the database driver).  This name is a lower-case version of the C<Database>
+argument in the C<Database> section of the framework config.
+
+For SQLite databases (where the database name is actually a filename), this also converts
+a relative path into an absolute path based at the application root.
+
+=cut
+
+sub canonical_database_name {
+    my $self_or_class = shift;
+    my $db_config = Jifty->config->framework('Database');
+
+    my $db = lc $db_config->{'Database'};
+
+    if ($db_config->{'Driver'} eq 'SQLite') {
+        $db = Jifty::Util->absolute_path($db);
+    } 
+
+    return $db;
+} 
+
 =head2 connect ARGS
 
 Like L<Jifty::DBI>'s connect method but pulls the name of the database
@@ -54,8 +79,8 @@
 sub connect {
     my $self = shift;
     my %args = (@_);
-    my %db_config =  %{Jifty->config->framework('Database')};
-    
+    my %db_config =  (%{Jifty->config->framework('Database')}, Database => $self->canonical_database_name);
+
     my %lc_db_config;
     for (keys %db_config) {
         $lc_db_config{lc($_)} = $db_config{$_};

Modified: jifty/trunk/lib/Jifty/Script/Schema.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Script/Schema.pm	(original)
+++ jifty/trunk/lib/Jifty/Script/Schema.pm	Sat Dec 31 13:32:01 2005
@@ -394,10 +394,9 @@
 sub manage_database_existence {
     my $self     = shift;
     my $handle   = Jifty::Handle->new();
-    my $database = lc Jifty->config->framework('Database')->{'Database'};
+    my $database = Jifty::Handle->canonical_database_name;
     my $driver   = Jifty->config->framework('Database')->{'Driver'};
 
-
     if ( $self->{'print'} ) {
         print "DROP DATABASE $database;\n" if $self->{'drop_database'};
         print "CREATE DATABASE $database;\n";


More information about the Jifty-commit mailing list