Changeset 3261


Ignore:
Timestamp:
03/12/09 02:19:22 (3 years ago)
Author:
jquelin
Message:

creating config dir if it doesn't exist

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Padre/lib/Padre/Config/Constants.pm

    r3257 r3261  
    55package Padre::Config::Constants; 
    66 
     7use File::Path            qw{ mkpath }; 
    78use File::Spec; 
    89use File::Spec::Functions qw{ catdir catfile rel2abs }; 
     
    2829 
    2930sub _find_padre_config_dir { 
    30     my $home; 
    31      
    32     # PADRE_HOME env var set, always use unix style. 
     31    # define config dir 
     32    my @subdirs; 
    3333    if ( defined $ENV{PADRE_HOME} ) { 
    34         $home = catdir( $ENV{PADRE_HOME}, '.padre' ); 
    35         return rel2abs($home); 
     34        # PADRE_HOME env var set, always use unix style. 
     35        @subdirs = ( $ENV{PADRE_HOME}, '.padre' ); 
     36    } else { 
     37        # using data dir as defined by the os. 
     38        @subdirs = ( File::HomeDir->my_data ); 
     39        push @subdirs, File::Spec->isa('File::Spec::Win32') 
     40            ? qw{ Perl Padre }  # on windows use the traditional vendor/product format 
     41            : qw{ .padre };     # TODO - is mac correctly covered? 
    3642    } 
     43    my $confdir = rel2abs( catdir( @subdirs ) ); 
    3744 
    38     # using data dir as defined by the os. 
    39     my $datadir = File::HomeDir->my_data; 
    40     my @subdirs = File::Spec->isa('File::Spec::Win32') 
    41         ? qw{ Perl Padre }  # on windows use the traditional vendor/product format 
    42         : qw{ .padre };     # TODO - is mac correctly covered? 
     45    # check if directory exists, create it otherwise 
     46    mkpath($confdir) or die "Cannot create config dir '$confdir' $!" 
     47        unless -e $confdir; 
    4348 
    44     $home = catdir( $datadir, @subdirs ); 
    45     return rel2abs($home); 
     49    return $confdir; 
    4650} 
    4751 
Note: See TracChangeset for help on using the changeset viewer.