- Timestamp:
- 12/30/10 11:16:52 (13 years ago)
- Location:
- server/trunk/web
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
server/trunk/web/lib/Sophie/Controller/Chat/Cmd.pm
r208 r232 163 163 } 164 164 165 =head2 q REGEXP 166 167 Search rpm name matching C<REGEXP>. 168 169 NB: C<.>, C<*>, C<+> have special meaning 170 and have to be escaped. 171 172 =cut 173 174 sub q : XMLRPC { 175 my ($self, $c, $reqspec, @args) = @_; 176 177 $reqspec->{src} = 0; 178 179 @args = @{ $c->forward('_getopt', [ 180 { 181 'd=s' => \$reqspec->{distribution}, 182 'v=s' => \$reqspec->{release}, 183 'a=s' => \$reqspec->{arch}, 184 's' => sub { $reqspec->{src} = 1 }, 185 }, @args ]) }; 186 187 my $res = $c->forward('/search/tags/name_regexp', $reqspec, $args[0]); 188 if (!@{ $res }) { 189 return $c->stash->{xmlrpc} = { 190 message => [ 'Nothing match `' . $args[0] . '\'' ] 191 }; 192 } else { 193 my @message = 'rpm name matching `' . $args[0] . '\':'; 194 while (@{ $res }) { 195 my $str = ''; 196 do { 197 my $item = shift(@{ $res }) or last; 198 $str .= ', ' if ($str); 199 $str .= $item->{name}; 200 } while (length($str) < 70); 201 push(@message, $str); 202 } 203 return $c->stash->{xmlrpc} = { 204 message => \@message, 205 }; 206 } 207 } 208 165 209 =head2 version [-s] NAME 166 210 -
server/trunk/web/lib/Sophie/Controller/Search/Rpm.pm
r148 r232 143 143 } 144 144 145 sub fuzzy : XMLRPCPath('fuzzy'){145 sub fuzzy : Private { 146 146 my ($self, $c, $searchspec, $name) = @_; 147 $searchspec ||= {}; 148 149 my $deprs = $c->model('Base')->resultset('Deps')->search( 150 { deptype => 'P', depname => { '~*' => $name } } 151 )->get_column('pkgid'); 147 $c->forward('fuzzy_rpc', [ $searchspec, $name ]); 148 $c->stash->{xmlrpc} = 149 [ $c->stash->{rs}->get_column('pkgid')->all ]; 150 } 151 152 sub fuzzy_rpc : XMLRPCPath('fuzzy') { 153 my ($self, $c, $searchspec, $name) = @_; 154 $searchspec ||= {}; 155 156 # my $deprs = $c->model('Base')->resultset('Deps')->search( 157 # { deptype => 'P', depname => { '~*' => $name } } 158 # )->get_column('pkgid'); 152 159 my $distrs = $c->forward('/search/distrib_search', [ $searchspec, 1 ]); 153 160 -
server/trunk/web/t/controller_Search-Rpms.t
r149 r232 6 6 BEGIN { use_ok 'Sophie::Controller::Search::Rpms' } 7 7 8 # ok( request('/search/rpms')->is_success, 'Request should succeed' );9 8 done_testing();
Note: See TracChangeset
for help on using the changeset viewer.