Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Kорзина _ Ленты Rss

Автор: district 13.11.2008, 18:51

Выкладываю скрипт.

Цитата
*** This script requires PxWSA Socket Library and PtokaX >= 3.3.21 ***

Кое-что удалось подчистить, исключить паразитные символы при выводе лент.
Но UTF-8 парсить категорически не хочет.
В чарсете - копался, и так, и эдак, но добиться, чтобы скрипт ХОТЬ КАК-ТО отображал RSS в кодировке utf-8, не получается. А жаль, есть пара сайтиков, ленты которых с удовольствием прикрутил бы к хабу.
В чем тут может быть дело? В неправильной версии PxWSA? (?)

 b_RSSFeed.rar ( 18.4 килобайт ) : 16
 

Автор: Wariner 13.11.2008, 18:54

Прошу прощения за оффтоп, но мог бы заодно кто нить рассказать обо всём этом по подробнее! Как, чего и откуда берётся?! (по аналогии с каким то скриптом могу сделать а вот до конца понять не получается)

PS имеется ввиду взятие данных из инета

Автор: district 13.11.2008, 19:13

<тут я спросонья проповедовал прописные истины мимо кассы, извиняюсь> big_smile1.gif

Автор: Sephiroth_Lukaw 13.11.2008, 19:52

Библиотека дополнительная нужная для работы с utf-8.
upd.
Прикрепил, проверял, даже использовал, рабочая она.
upd. Собственно, нашёл гуглом, откуда я её скачивал.
http://mydc.ru/r/?http://adrium.ipbfree.com/index.php?showtopic=125

 api_magnet.zip ( 1.39 мегабайт ) : 22
 

Автор: district 14.11.2008, 0:42

Sephiroth_Lukaw

ммм.. собственно, за ссылку спасибо, за архив тоже. Правда, поскочивши в три ночи и глядя в экран, пока мало что понимаю shocked.gif
по -моему, это немного из другой оперы.
В скрипте есть свои внутренние чарсеты (таблицы соответствия кодов символов и самих выводимых символов). Таблиц три, кодировок тоже три. Две работают, та, что отвечает за утф-8 - нет.
Проверил скрипт "magnet", как рассказано по ссылке. Скрипт работает, дублирует белиберду магнет-ссылки нормальным названием файла.
(Правда, в новых клиентах, PeLink например, это уже реализовано - ссылочка подается без посторонних символов, как на блюдечке)
Прикрутил для пробы ленту в кодировке утф-8, запросил - опять кракозяблы.
Или я чего-то пока что недопонял, или проблема в другом. :xz:

Автор: Sephiroth_Lukaw 14.11.2008, 0:49

Я в этот скрипт как-раз таки(т.е. под API 1) вставлял поддержку UTF-8. Сейчас прикреплю его.
upd. Прикпрепил. api.dll в каталог scripts ложи.

 RSS.rar ( 18.1 килобайт ) : 15
 

Автор: district 14.11.2008, 1:34

Что-то пока крах.
Скрипт ты выложил по сути тот же самый, как у меня и есть, v.2.3, только с дописанной в начале строкой

Код
utf8toansi = package.loadlib("api.dll", "_utf8_to_ansi")

Он у меня и родную рабочую папку со ссылками на RSS ленты вычитал на раз.
Но результат пока тот же: кракозяблы.
И в папку скриптс клал дллку, и в "либс", и в корневой каталог Птоки, как рекомендовано по приведенной выше ссылке на Адриум.

Автор: Sephiroth_Lukaw 14.11.2008, 3:14

Перезалил и rar'ом сжал, теперь надо в описании ленты с UTF-8 вписывать "UTF-8", к примеру:

Цитата
[04:45] <Yaoi> Добавление ленты RSS :
Команда вызова: !test2
Описание: Lent UTF-8

Как определять utf-8 в lua не знаю, сознаюсь, так что сделал так. )

Автор: district 14.11.2008, 9:55

Что ж, спасибо коллеге за ночной "мозговой штурм".
Что мы имеем? Мы имеем частичное решение проблемы за счет стороннего (не-штатного) dll и кое-каких дополнительных ухищрений.
И можно бы это было так и оставить, но! Паразитные символы исходного кода ленты, как-то:

Цитата
[6] = "</span>",
[7] = "</p>",
[8] = "</a>",
,
будучи учтенными в самом скрипте, в выводимом тексте не-утфного кода - не отображаются.
Обработкой утф-8 теперь, насколько я понял, занимается не скрипт, а та самая сторонняя дллка.
Поэтому победить эти самые символы в выводимом тексте утф-8 и получить нормальный текст без мусора - пока не получается.
В общем, вопрос остается в известном смысле открытым.
Мне лично все-таки кажется, что есть какая-то ошибка в самом скрипте, ведь он изначально был под LUA 5.0, и вот на этапе апгрейда что-то было упущено. А правильно скрипт называется " bRSS v.2.3 LUA 5 b.y: S.t.0.n.e d.b Частичный перевод, модернизация, подбор оформления лент by Der Schaman"

Автор: sphinx 20.11.2008, 9:24

Цитата(district @ 13.11.2008, 18:51) *
есть пара сайтиков, ленты которых с удовольствием прикрутил бы к хабу.

А что за ленты? Я бы проверил у себя.

Автор: district 20.11.2008, 10:41

sphinx

Да вот хотя бы: h**p://pcmusic.ru/rss.xml

Автор: Setuper 20.11.2008, 13:24

http://mydc.ru/ipb.html?s=&showtopic=334&view=findpost&p=2276

Автор: sphinx 20.11.2008, 14:04

Цитата(district @ 20.11.2008, 10:41) *
sphinx

Да вот хотя бы: h**p://pcmusic.ru/rss.xml

Зайди на хаб и напиши +музыка в главном чате big_smile.gif

Автор: district 20.11.2008, 14:41

sphinx

Зашел, увидел, ощутил )) И в чем фокус-то? В том, что "This Hub Is Running PtokaX DC Hub 0.4.1.1" ? Так это увы не мой случай...
И еще - ссылки не отображаются (не подсвечиваются).

Setuper

За ссылку как обычно, "спасибо", но там "без бутылки не разберешься", и "я столько не выпью" big_smile.gif Обязательно поизучаю, как разгребу более насущное.

Автор: sphinx 20.11.2008, 21:01

Цитата(district @ 20.11.2008, 14:41) *
sphinx

Зашел, увидел, ощутил )) И в чем фокус-то? В том, что "This Hub Is Running PtokaX DC Hub 0.4.1.1" ? Так это увы не мой случай...
И еще - ссылки не отображаются (не подсвечиваются).

Какие ссылки? что-то не догнал я. И это не к тому, что версия новая. Я на нее перешел неделю назад big_smile.gif
Тебе нужна таблица перекодировки UTF8 - 1251. Найти ее несложно, сделать автозамену еще проще, дерзай!

А вообще, библиотека отвечает только за получение текста, а парсинг - перекодировку, форматирование и т.п. - делается скриптом.

Автор: district 20.11.2008, 21:28

sphinx

Цитата
библиотека отвечает только за получение текста, а парсинг - перекодировку, форматирование и т.п. - делается скриптом.

Вот и я о том же, что скрипт как надо не работает, таков и сабж топика, собственно.
Будь добр, выложи тот, что у тебя стоит? Если не жалко.

http-ссылки в RSS-потоках, полученных в не-утфной кодировке, у меня подсвечиваются и работают.
При получении ленты по вышеуказанной ссылке у тебя на хабе - ссылки в ней выглядели просто как обычный текст, вот я о чем.

Автор: Wariner 20.11.2008, 21:39

Цитата(district @ 20.11.2008, 21:28) *
ссылки в ней выглядели просто как обычный текст, вот я о чем.

Так это зависит от того как написанна ссылка. если есть http:// (dchub:// и т.д.) то она будет подсвечена если нет то не будет... Или я не о том?

Автор: district 21.11.2008, 0:17

Wariner

Немного не о том. Дело в том, что у меня при вызове ленты в кодировке утф-8 нормально ссылки показываются, и латиница.
Т.е. в исходном коде RSS все правильно.
Проблема только в том, что скрипт не парсит кириллицу.