Changeset 205 for server


Ignore:
Timestamp:
12/27/10 20:50:51 (13 years ago)
Author:
nanardon
Message:
  • add what functions to bot
File:
1 edited

Legend:

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

    r196 r205  
    563563} 
    564564 
     565sub what : XMLRPC { 
     566    my ($self, $c, $reqspec, @args) = @_; 
     567         
     568    @args = @{ $c->forward('_getopt', [ 
     569        { 
     570            'd=s' => \$reqspec->{distribution}, 
     571            'v=s' => \$reqspec->{release}, 
     572            'a=s' => \$reqspec->{arch}, 
     573            's'   => \$reqspec->{src}, 
     574        }, @args ]) }; 
     575 
     576    my ($type, $depname, $sense, $evr) = @args; 
     577 
     578    my $deptype = uc(substr($type, 0, 1)); 
     579    my $rpmlist = $c->forward('/search/rpm/bydep', 
     580        [ $reqspec, $deptype, $depname, $sense, $evr ]); 
     581 
     582    if (@{ $rpmlist } < 20) { 
     583        my @name; 
     584        foreach (@{ $rpmlist }) { 
     585            my $info = $c->forward('/rpms/basicinfo', [ $_ ]); 
     586            push @name, $info->{name} . '-' . $info->{evr}; 
     587        } 
     588        return $c->stash->{xmlrpc} = { 
     589            message => [ 
     590                "Package requiring $depname" . ($evr ? " $sense $evr" : '') . 
     591                ':',  
     592                join(' ', @name), 
     593            ], 
     594        } 
     595    } else { 
     596        return $c->stash->{xmlrpc} = { 
     597            message => [ 'Too many result' ], 
     598        }; 
     599    } 
     600 
     601} 
     602 
    565603=head2 maint RPMNAME 
    566604 
Note: See TracChangeset for help on using the changeset viewer.