Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Юникод не хочет работать 
:(
    Опции темы
2048Terrabit
Дата 13.9.2009, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.4.2009
Где: Екатеринбург

Репутация: нет
Всего: нет



Юникод не хочет правельно прописать вывод функции puts rss.get_summary() см. код в низу

Код

require 'rss/1.0'
require 'rss/2.0'
require 'open-uri'
require 'open-uri'
$KCODE = 'u'
require 'jcode'

class Rssreader
  def initialize(url)
    source = url # url or local file
    content = "" # raw content of rss feed will be loaded here
    open(source) do |s| content = s.read end
    @rss = RSS::Parser.parse(content, false)
  end
  
   # returns the first 3 titles from the rss feed
  def get_summary()
    buffer = '['
    for i in 0..2
      buffer += @rss.items[i.to_i].title + ' | '
    end      
    buffer.slice(0,buffer.length-3) + ']'
  end
  
  def enclosure?
    @rss.items.to_s.scan('<enclosure').length > 0
  end
  
   def get_enclosure_url
    enclosure = @rss.items[0].enclosure
    enclosure.url
  end
  
  def rwget(url, filename)
    file = File.new(filename, 'w')
    file.puts open(url, 'User-Agent' => 'Ruby-wget').read
  end
  
  def download_enclosure()
    if self.enclosure? then
      enclosure_url = self.get_enclosure_url()
      local_filename = File.basename(enclosure_url)
      #puts local_filename
      if not File.exist?(local_filename) then
        puts 'downloading enclosure ...'
        self.rwget(enclosure_url, local_filename)
        puts 'download completed'
      else
        puts 'enclosure downloaded already'
      end
    end
  end    
end
 
  if __FILE__ == $0
    url = "http://hlprophet.ucoz.ru/news/rss/"
    rss = Rssreader.new(url)
    puts rss.get_summary()
    rss.download_enclosure()
  end

PM MAIL Skype   Вверх
Goganchic
Дата 13.10.2009, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



А если так попробовать:
Код

buffer.chars.to_a.slice(0,buffer.chars.count-3).to_s + ']'

Кривовато конечно, но все же
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby on Rails"
source777
  • С чего начать? начинаем
  • Документацию смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby On Rails | Следующая тема »


 




[ Время генерации скрипта: 0.0384 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.