Parsing of i18n file added.

Allows us to read long descriptions and add them to the package information
This commit is contained in:
Christoph Haas 2015-04-23 00:29:30 +02:00
parent a15b2b6674
commit c05b52895d
2 changed files with 62 additions and 2 deletions

View file

@ -126,6 +126,42 @@ namespace :debshots do
end # task
desc 'Update long description from i18n file'
task :update_longdescription_from_deb_repos => :environment do
repositories = Rails.configuration.package_sources
Rails.logger = Logger.new(STDOUT)
Rails.logger.level = Logger::INFO
# Rails.logger.level = Logger::DEBUG
Rails.logger.info "Importing long descriptoin from Debian repository (i18n)"
repositories.each do |repository|
Rails.logger.info "Fetching Release file for repository: #{repository[:url]} with components: #{repository[:components]}"
release = DebImporter::Release.new(repository[:url], repository[:components])
Rails.logger.info "> Supported components are: #{release.components}"
release.components.split.each do |component|
Rails.logger.info "> Component: #{component}"
release.i18n(component, 'en').each do |pkg|
Rails.logger.debug "i18n information: #{pkg}"
# See if we have that package in the database
if db_pkg = Package.find_by(name: pkg[:Package])
Rails.logger.info "Updating long description for package #{db_pkg.name}"
db_pkg.long_description = pkg[:'Description-en']
db_pkg.save
end
end # pkg.each
end # components.each
Rails.logger.info "Done updating long descriptions from translation file."
Rails.logger.info "--------------------------------------------"
end # repositories.each
end # task
# TODO: Some code duplication. Should be refactord.
desc "List configured DEB repositories"