2 require 'gettext_rails'
4 class MainController < ApplicationController
6 verify :only => :ymp, :params => [:project, :repository, :arch, :binary],
9 # these pages are completely static:
10 caches_page :index, :developer, :developer2, :developer_download_js
15 render :template => "main/old_#{dist}.rhtml"
17 @message = "No old page found for dist #{dist}"
18 render :template => "error", :status => 404
22 def ymp_with_arch_and_version
23 path = "/published/#{params[:project]}/#{params[:repository]}/#{params[:arch]}/#{params[:binary]}?view=ymp"
24 res = get_from_api(path)
25 render :text => res.body, :content_type => res.content_type
28 def ymp_without_arch_and_version
29 path = "/published/#{params[:project]}/#{params[:repository]}/#{params[:package]}?view=ymp"
30 res = get_from_api(path)
31 render :text => res.body, :content_type => res.content_type
36 @directory = "http://download.opensuse.org/distribution/11.2-RC1"
37 @isos["lang-32"] = "Addon-Lang-Build0331-i586"
38 @isos["lang-64"] = "Addon-Lang-Build0332-x86_64"
39 @isos["nonoss"] = "Addon-NonOss-BiArch-Build0335-i586-x86_64"
40 @isos["kde-64"] = "KDE4-LiveCD-Build0336-x86_64"
41 @isos["kde-32"] = "KDE4-LiveCD-Build0336-i686"
42 @isos["gnome-64"] = "GNOME-LiveCD-Build0336-x86_64"
43 @isos["gnome-32"] = "GNOME-LiveCD-Build0336-i686"
44 @isos["dvd-64"] = "DVD-Build0334-x86_64"
45 @isos["dvd-32"] = "DVD-Build0331-i586"
46 @isos["net-32"] = "NET-Build0331-i586"
47 @isos["net-64"] = "NET-Build0331-x86_64"
49 @releasenotes = "http://www.suse.de/relnotes/i386/openSUSE/11.2/RELEASE-NOTES.en.html"
50 @releasename = "openSUSE 11.2-RC1"
51 @repourl = "http://download.opensuse.org/distribution/11.2"
57 render :template => "main/developer"
61 request.user_preferred_languages.each { |l| puts "user " + l }
64 puts "ready", request.compatible_language_from(LANGUAGES)
66 lang = request.compatible_language_from(LANGUAGES) || "en"
67 redirect_to "/developer2/" + lang
70 @lang = params[:lang][0]
72 GetText.locale = @lang
75 render :template => "main/developer2"
78 def change_developer_install
80 @medium = params[:medium]
81 render :template => "main/developer2"
84 def developer_download_js
86 render :template => "main/download", :content_type => 'text/javascript', :layout => false
90 if params[:release] == "developer"
94 medium = params[:medium]
96 if params[:arch] == "i686"
105 when params[:protocol] == "torrent"
106 suffix = ".iso.torrent"
107 when params[:protocol] == "mirror"
108 suffix = ".iso?mirrorlist"
109 when params[:protocol] == "metalink"
110 suffix = ".iso.metalink"
112 redirect_to @directory + "/iso/openSUSE-" + @isos[medium] + suffix
118 def get_from_api(path)
119 req = Net::HTTP::Get.new(path)
120 req['x-username'] = "obs_read_only"
122 host, port = API_HOST.split(/:/)
124 res = Net::HTTP.new(host, port).start do |http|