diff --git a/app/controllers/package_controller.rb b/app/controllers/package_controller.rb index f0120ad5a..ec1bf561e 100644 --- a/app/controllers/package_controller.rb +++ b/app/controllers/package_controller.rb @@ -43,7 +43,7 @@ def show @packages.each do |package| if ( package.repository.match(/Tumbleweed/) || (package.project == "openSUSE:Tumbleweed") ) - package.baseproject = "openSUSE:Tumbleweed" + package.baseproject = "openSUSE:Factory" elsif ( package.project.match( /openSUSE:Evergreen/ ) ) package.baseproject = package.project elsif ( package.repository.match( /^Factory$/i ) ) diff --git a/app/models/appdata.rb b/app/models/appdata.rb index 210186e3b..77eb0fb04 100644 --- a/app/models/appdata.rb +++ b/app/models/appdata.rb @@ -1,3 +1,5 @@ +require 'open-uri' + class Appdata def self.get dist="factory" @@ -39,17 +41,11 @@ def self.get_distribution dist="factory", flavour="oss" else appdata_url = "http://download.opensuse.org/distribution/#{dist}/repo/#{flavour}/suse/setup/descr/appdata.xml.gz" end - begin - appdata = ApiConnect::get appdata_url - rescue - # never ever die when remote is not working or file is not there - end - zipfilename = File.join( Rails.root.join('tmp'), "appdata-" + dist + ".xml.gz" ) filename = File.join( Rails.root.join('tmp'), "appdata-" + dist + ".xml" ) - File.open(zipfilename, "w+", :encoding => 'ascii-8bit') do |f| - f.write(appdata.body) if appdata - end - `gunzip -f #{zipfilename}` + open(filename, 'wb') do |file| + # Gzip data will be automatically decompressed with open-uri + file << open(appdata_url).read + end xmlfile = File.open(filename) doc = Nokogiri::XML(xmlfile) xmlfile.close