Show
Ignore:
Timestamp:
05/11/08 17:04:41 (4 years ago)
Author:
dom
Message:

fix much tab/whitespace damage; no functional changes.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • wiki-toolkit/trunk/bin/wiki-toolkit-revert-to-date

    r397 r431  
    1313            "date=s"         => \$date, 
    1414            "time=s"         => \$time, 
    15            ); 
     15          ); 
    1616 
    1717unless (defined($dbtype)) { 
     
    2828 
    2929unless (defined($date)) { 
    30         print "You must supply the date with the --date option.\n"; 
    31         print "Further help can be found by typing 'perldoc $0'\n"; 
    32         exit 1; 
     30    print "You must supply the date with the --date option.\n"; 
     31    print "Further help can be found by typing 'perldoc $0'\n"; 
     32    exit 1; 
    3333} 
    3434 
    3535unless ($date =~ /^\d{4}\-\d{2}\-\d{2}$/) { 
    36         print "You must supply the date with --date in the format YYYY-MM-DD.\n"; 
    37         print "Further help can be found by typing 'perldoc $0'\n"; 
    38         exit 1; 
     36    print "You must supply the date with --date in the format YYYY-MM-DD.\n"; 
     37    print "Further help can be found by typing 'perldoc $0'\n"; 
     38    exit 1; 
    3939} 
    4040unless (!$time || $time =~ /^\d{2}:\d{2}:\d{2}$/) { 
    41         print "You must supply either no time, or the time in the format HH:MM:SS.\n"; 
    42         print "Further help can be found by typing 'perldoc $0'\n"; 
    43         exit 1; 
     41    print "You must supply either no time, or the time in the format HH:MM:SS.\n"; 
     42    print "Further help can be found by typing 'perldoc $0'\n"; 
     43    exit 1; 
    4444} 
    4545 
     
    5050 
    5151my %setup_modules = ( postgres => "Wiki::Toolkit::Store::Pg", 
    52                       mysql    => "Wiki::Toolkit::Store::MySQL", 
    53                       sqlite  => "Wiki::Toolkit::Store::SQLite" 
     52                      mysql    => "Wiki::Toolkit::Store::MySQL", 
     53                      sqlite  => "Wiki::Toolkit::Store::SQLite" 
    5454); 
    5555 
     
    7272my $store; 
    7373my $args = "dbname=>'$dbname', dbuser=>'$dbuser'"; 
    74 if($dbpass) { $args .= ", dbpass=>'$dbpass'"; } 
    75 if($dbhost) { $args .= ", dbhost=>'$dbhost'"; } 
    76 if($dbport) { $args .= ", dbport=>'$dbport'"; } 
     74if($dbpass) { 
     75    $args .= ", dbpass=>'$dbpass'"; 
     76} 
     77if($dbhost) { 
     78    $args .= ", dbhost=>'$dbhost'"; 
     79} 
     80if($dbport) { 
     81    $args .= ", dbport=>'$dbport'"; 
     82} 
    7783eval "\$store = $class->new($args);"; 
    7884 
     
    8187 
    8288# Grab the state as of then 
    83 if($time) { $date .= " ".$time; } 
     89if($time) { 
     90    $date .= " ".$time; 
     91} 
    8492print "Reverting to the state as of $date\n"; 
    8593 
    8694my @nodes = $wiki->list_last_version_before($date); 
    8795foreach my $node (@nodes) { 
    88         my %newnode = $wiki->retrieve_node($node->{name}); 
    89         my $thenver = $node->{version}; 
    90         if($thenver) { $thenver = sprintf("v%02d", $thenver); } 
    91         else         { $thenver = "(d)"; } 
    92  
    93         print sprintf('  %03d  - %s (now v%02d) - %s', $node->{id}, $thenver, $newnode{version}, $node->{name})."\n"; 
     96    my %newnode = $wiki->retrieve_node($node->{name}); 
     97    my $thenver = $node->{version}; 
     98    if($thenver) { 
     99        $thenver = sprintf("v%02d", $thenver); } 
     100    else { 
     101        $thenver = "(d)"; 
     102    } 
     103 
     104    print sprintf('  %03d  - %s (now v%02d) - %s', $node->{id}, $thenver, $newnode{version}, $node->{name})."\n"; 
    94105} 
    95106 
     
    98109chomp $ok; 
    99110unless($ok eq "y") { 
    100         die("Aborting revert\n"); 
     111    die("Aborting revert\n"); 
    101112} 
    102113 
    103114# Revert each node 
    104115foreach my $node (@nodes) { 
    105         if($node->{version}) { 
    106                 # Delete versions between now and then 
    107                 my %newnode = $wiki->retrieve_node($node->{name}); 
    108                 for(my $ver=$newnode{version}; $ver>$node->{version}; $ver--) { 
    109                         $wiki->delete_node( 
    110                                                         name=>$node->{name},  
    111                                                         version=>$ver, 
    112                                                         wiki=>$wiki 
    113                         ); 
    114                         print sprintf('Deleted node v%02d of %03d - %s',$ver, $node->{id},$node->{name})."\n"; 
    115                 } 
    116         } else { 
    117                 # No version then, delete 
    118                 $wiki->delete_node( 
    119                                                         name=>$node->{name}, 
    120                                                         wiki=>$wiki 
    121                 ); 
    122                 print sprintf('Deleted node %03d - %s',$node->{id},$node->{name})."\n"; 
    123         } 
     116    if($node->{version}) { 
     117        # Delete versions between now and then 
     118        my %newnode = $wiki->retrieve_node($node->{name}); 
     119        for (my $ver=$newnode{version}; $ver>$node->{version}; $ver--) { 
     120            $wiki->delete_node( 
     121                                name=>$node->{name},  
     122                                version=>$ver, 
     123                                wiki=>$wiki 
     124            ); 
     125            print sprintf('Deleted node v%02d of %03d - %s',$ver, $node->{id},$node->{name})."\n"; 
     126        } 
     127    } else { 
     128        # No version then, delete 
     129        $wiki->delete_node( 
     130                            name=>$node->{name}, 
     131                            wiki=>$wiki 
     132        ); 
     133        print sprintf('Deleted node %03d - %s',$node->{id},$node->{name})."\n"; 
     134    } 
    124135} 
    125136 
     
    127138print "\nDone revert to $date\n"; 
    128139 
    129  
    130140=head1 NAME 
    131141 
     
    138148 
    139149  wiki-toolkit-revert-to-date --type postgres 
    140                    --name mywiki \ 
    141                    --user wiki  \ 
    142                    --pass wiki \ 
    143                    --host 'db.example.com' \ 
    144                    --port 1234 \ 
    145                    --date 2007-01-05 \ 
    146                    --time 11:23:21 
     150           --name mywiki \ 
     151           --user wiki  \ 
     152           --pass wiki \ 
     153           --host 'db.example.com' \ 
     154           --port 1234 \ 
     155           --date 2007-01-05 \ 
     156           --time 11:23:21 
    147157 
    148158=head1 DESCRIPTION