Changeset 6
- Timestamp:
- 11/20/10 16:15:39 (14 years ago)
- Location:
- web/trunk
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
web/trunk/lib/Sophie/Base/Result/Deps.pm
r2 r6 6 6 7 7 __PACKAGE__->table('dependencies'); 8 __PACKAGE__->add_columns(qw/pkgid deptype count name pkgid/);8 __PACKAGE__->add_columns(qw/pkgid deptype count depname pkgid flags evr color/); 9 9 __PACKAGE__->set_primary_key(qw/pkgid deptype count/); 10 10 __PACKAGE__->belongs_to(Rpms => 'Sophie::Base::Result::Rpms', 'pkgid'); -
web/trunk/lib/Sophie/Base/Result/Paths.pm
r2 r6 6 6 7 7 __PACKAGE__->table('d_path'); 8 __PACKAGE__->add_columns(qw/d_path_key path /);8 __PACKAGE__->add_columns(qw/d_path_key path added updated/); 9 9 __PACKAGE__->set_primary_key('d_path_key'); 10 10 #__PACKAGE__->belongs_to(media => 'Sophie::Base::Result::Medias', 'media'); -
web/trunk/lib/Sophie/Base/RpmsPath.pm
r5 r6 57 57 } 58 58 59 sub update_content{59 sub find_delta { 60 60 my ($self) = @_; 61 61 … … 69 69 $list{$_} = 1; 70 70 } 71 my @delta; 71 72 72 73 foreach my $rpm (sort { $b cmp $a } keys %list) { … … 74 75 # nothing to do 75 76 } elsif ($localrpms->{$rpm}) { 76 warn "adding $rpm"; 77 $self->add_rpm($rpm); 77 push(@delta, { rpm => $rpm, delta => 'A' }); 78 78 } elsif ($baserpms->{$rpm}) { 79 my $remove = $self->db->prepare_cached( 80 q{ 81 DELETE FROM rpmfiles where d_path = ? and filename = ? 82 } 83 ); 84 $remove->execute($$self, $rpm); 85 warn "deleting $rpm"; 79 push(@delta, { rpm => $rpm, delta => 'R' }); 86 80 } 87 81 } 82 @delta; 83 } 84 sub update_content { 85 my ($self, @delta) = @_; 86 foreach (@delta) { 87 if (!$_->{delta}) { 88 } 89 elsif ($_->{delta} eq 'A') { 90 $self->add_rpm($_->{rpm}); 91 } 92 elsif ($_->{delta} eq 'R') { 93 $self->remove_rpm($_->{rpm}); 94 } 95 } 96 } 88 97 98 sub remove_rpm { 99 my ($self, $rpm) = @_; 100 my $remove = $self->db->prepare_cached( 101 q{ 102 DELETE FROM rpmfiles where d_path = ? and filename = ? 103 } 104 ); 105 $remove->execute($$self, $rpm); 106 warn "deleting $rpm"; 107 $self->db->commit; 89 108 } 90 109 … … 103 122 } else { 104 123 } 124 warn "adding $rpm"; 105 125 $self->db->commit; 106 126 } -
web/trunk/lib/Sophie/Controller/Search.pm
r5 r6 28 28 } 29 29 30 sub bytag : XMLRPCPath('/search/rpm/bytag') { 31 my ( $self, $c, $searchspec, $tag, $tagvalue ) = @_; 32 33 @{$c->stash->{xmlrpc}} = $c->model('Base')->resultset('Rpms')->search( 34 { 35 pkgid => { IN => $c->model('Base')->resultset('Tags') 36 ->search({ tagname => $tag, value => $tagvalue}) 37 ->get_column('pkgid')->as_query } 38 } 39 )->get_column('pkgid')->all 40 41 } 42 43 sub bydep : XMLRPCPath('/search/rpm/bydep') { 44 my ( $self, $c, $searchspec, $deptype, $depname, $depsense, $depevr ) = @_; 45 46 @{$c->stash->{xmlrpc}} = $c->model('Base')->resultset('Rpms')->search( 47 { 48 pkgid => { IN => $c->model('Base')->resultset('Deps') 49 ->search({ 50 deptype => $deptype, 51 depname => $depname, 52 ($depsense 53 ? (-nest => \[ 54 'rpmdepmatch(flags, evr, rpmsenseflag(?), ?)', 55 [ plain_text => $depsense], 56 [ plain_text => $depevr ] 57 ]) 58 : () 59 ), 60 }) 61 ->get_column('pkgid')->as_query } 62 } 63 )->get_column('pkgid')->all 64 65 } 30 66 31 67 =head1 AUTHOR
Note: See TracChangeset
for help on using the changeset viewer.