Changeset 291


Ignore:
Timestamp:
01/11/11 21:03:08 (13 years ago)
Author:
nanardon
Message:
  • add list command to bot
File:
1 edited

Legend:

Unmodified
Added
Removed
  • server/trunk/web/lib/Sophie/Controller/Chat/Cmd.pm

    r271 r291  
    172172} 
    173173 
     174=head2 list [distribution [release [arch]]] 
     175 
     176List available distribution, release, architecture matching given arguments. 
     177 
     178=cut 
     179 
     180sub list : XMLRPC { 
     181    my ($self, $c, $reqspec, @args) = @_; 
     182 
     183    my $distrib = { 
     184        distribution => $args[0], 
     185        release      => $args[1], 
     186        arch         => $args[2], 
     187    }; 
     188 
     189    if (!$c->forward('/distrib/exists', [ $distrib ])) { 
     190        return $c->stash->{xmlrpc} = { 
     191            message => [ "I don't have any distribution matching: " 
     192                         . join(' / ', grep { $_ } @args[0..2]) ], 
     193        }; 
     194    } 
     195 
     196    my @list = @{ $c->forward('/distrib/list', [ $distrib ]) }; 
     197    return $c->stash->{xmlrpc} = { 
     198        message => [  
     199            ($args[0]  
     200                ? join(' / ', grep { $_ } @args[0..2]) . ': ' 
     201                : '') . 
     202            join(', ', @list) ], 
     203    } 
     204} 
     205 
    174206=head2 q REGEXP 
    175207 
Note: See TracChangeset for help on using the changeset viewer.