Changeset 156

Show
Ignore:
Timestamp:
02/20/07 10:01:58 (2 years ago)
Author:
ingy
Message:
 r3423@skinny:  ingy | 2007-02-20 10:00:37 -0800
 Refactored the v1 and v2 Command modules
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/core/Kwiki/lib/Kwiki/Command/V1.pm

    r155 r156  
    11package Kwiki::Command::V1; 
    2 use Spoon::Command -Base; 
    3  
    4 sub process { 
    5     if (defined $ENV{KWIKI_BASE}) { 
    6         $self->hub->config->add_plugin('Kwiki::Configure'); 
    7     } 
    8     $self->SUPER::process(@_); 
    9 
     2use Kwiki::Command::Base -Base; 
    103 
    114sub handle_new { 
     
    3023      if defined $ENV{KWIKI_BASE}; 
    3124    $self->set_permissions; 
    32     warn "\nKwiki software installed! Point your browser at this location.\n\n"
     25    $self->finished_msg
    3326} 
    3427 
     
    8073} 
    8174 
    82 sub assert_directory { 
    83     chdir io->dir(shift || '.')->assert->open->name; 
    84     my $noun = shift; 
    85     my @all_files = grep { not /^\.[\\\/]?(lib|Makefile|\.svn)$/ } io('.')->all; 
    86     die "Can't make new $noun in a non-empty directory\n" 
    87       if @all_files; 
    88 } 
    89  
    9075sub add_new_default_config { 
    9176    $self->hub->config->add_config( 
     
    10287} 
    10388 
    104 sub install { 
    105     my $class_id = shift; 
    106     my $object = $self->hub->$class_id 
    107       or return; 
    108     return unless $object->can('extract_files'); 
    109     my $class_title = $self->hub->$class_id->class_title; 
    110     $self->msg("Extracting files for $class_title:\n"); 
    111     $self->hub->$class_id->quiet($self->quiet); 
    112     $self->hub->$class_id->extract_files; 
    113     $self->msg("\n"); 
    114 } 
    115  
    11689sub is_kwiki_dir { 
    11790    my $dir = shift || '.'; 
     
    138111        system("kwiki -quiet -update"); 
    139112    } 
    140 } 
    141  
    142 sub all_class_ids { 
    143     my @all_modules; 
    144     for my $key (keys %{$self->hub->config}) { 
    145         push @all_modules, $self->hub->config->{$key} 
    146           if $key =~ /_class/; 
    147     } 
    148     push @all_modules, @{$self->hub->config->{plugin_classes} || []}; 
    149     map { 
    150         eval "require $_; 1" 
    151         ? $_->can('extract_files') 
    152           ? do { 
    153               my $class_id = $_->class_id; 
    154               $self->hub->config->add_config({"${class_id}_class" => $_}); 
    155               ($_->class_id) 
    156           } 
    157           : () 
    158         : (); 
    159     } @all_modules; 
    160113} 
    161114 
     
    239192} 
    240193 
    241 sub handle_compress { 
    242     require Spoon::Installer; 
    243     Spoon::Installer->new->compress_lib(@_); 
    244 } 
    245  
    246194sub set_permissions { 
    247195    my $umask = umask 0000; 
  • trunk/src/core/modules.mk

    r155 r156  
    128128        Kwiki/Archive/Simple.pm \ 
    129129        Kwiki/Boot/V1.pm \ 
     130        Kwiki/Boot/V2.pm \ 
    130131        Kwiki/Command/V1.pm \ 
     132        Kwiki/Command/V2.pm \ 
    131133        Kwiki/Template/TT2.pm \ 
    132134        Kwiki/Theme/Basic.pm \