DRYing some controller code

def index
if not @contest.nil?
@videos = Video.paginate( :all, :include => { :ad
=> :contest }, :page => params[ :page ],
:conditions => [ “videos.state = ‘published’ AND
contests.slug = ?”, @contest.slug ] )
else
@videos = Video.paginate( :all, :conditions => { :state =>
‘published’ }, :page => params[ :page ] )
end
end

def parade
if not @contest.nil?
@videos = Video.paginate( :all, :include => { :ad
=> :contest }, :page => params[ :page ],
:conditions => [ “videos.state = ‘published’ AND
contests.slug = ?”, @contest.slug ],
:order => “ads.score DESC” )
else
@videos => Video.paginate( :all, :conditions => { :state =>
‘published’ },
:order => “ads.score DESC”, :page => params[ :page ] )
end
end

@contest gets populated in a before_filter.
there’s definitely too much repetition in here, how do you suggest
cleaning up the whole thing ? I was thinking at building different
conditions arrays inside the filter but I’m not so sure about it.
Suggestions ?

TIA,
ngw