1 class DownloadController < ApplicationController
3 verify :params => [:prj, :pkg]
7 def fake_data(data, prj, pkg, flavor, distro, format)
8 data[distro] = { :flavor => flavor,
9 :repo => "http://download.opensuse.org/repositories/#{prj}/#{distro}/",
10 :ymp => "http://software.opensuse.org/ymp/#{prj}/#{distro}/#{pkg}.ymp",
12 :i586 => "http://download.opensuse.org/repositories/#{prj}/#{distro}/i586/#{pkg}-2011.04-1.1.i586.#{format}",
13 :src => "http://download.opensuse.org/repositories/#{prj}/#{distro}/src/#{pkg}-2011.04-1.1.src.#{format}",
14 :x86_64 => "http://download.opensuse.org/repositories/#{prj}/#{distro}/x86_64/#{pkg}-2011.04-1.1.x86_64.#{format}"
24 # add fake data for debug purposes
25 fake_data(@data, @prj, @pkg, 'openSUSE', 'openSUSE_11.4', 'rpm')
26 fake_data(@data, @prj, @pkg, 'openSUSE', 'openSUSE_11.3', 'rpm')
27 fake_data(@data, @prj, @pkg, 'openSUSE', 'KDE_Distro_Stable_openSUSE_11.3', 'rpm')
28 fake_data(@data, @prj, @pkg, 'openSUSE', 'KR46_11.4', 'rpm')
29 fake_data(@data, @prj, @pkg, 'Fedora', 'Fedora_15', 'rpm')
30 fake_data(@data, @prj, @pkg, 'Fedora', 'Fedora_14', 'rpm')
31 fake_data(@data, @prj, @pkg, 'Mageia', 'Mageia_1', 'rpm')
32 fake_data(@data, @prj, @pkg, 'Mandriva', 'Mandriva_2011', 'rpm')
33 fake_data(@data, @prj, @pkg, 'Debian', 'Debian_6.0', 'deb')
34 fake_data(@data, @prj, @pkg, 'Ubuntu', 'Ubuntu_11.04', 'deb')
35 fake_data(@data, @prj, @pkg, 'CentOS', 'CentOS_5', 'rpm')
36 fake_data(@data, @prj, @pkg, 'RHEL', 'RHEL_5', 'rpm')
37 fake_data(@data, @prj, @pkg, 'SLE', 'SLE_11', 'rpm')
39 # collect distro types from data
40 @flavors = @data.values.collect { |i| i[:flavor] }.uniq.sort{|x,y| x.downcase <=> y.downcase }
44 # /download.html?prj=name&pkg=name
46 render :html, :layout => false
49 # /download.js?prj=name&pkg=name
51 render :js, :layout => false
54 # /download.json?prj=name&pkg=name
56 # needed for rails < 3.0 to support JSONP
57 render_json @data.to_json