Случайная сортировка RSS в Yahoo Pipes с помощью AppJet
Опубликовано в (Yahoo Pipes) | автор splogmaster | 24-12-2008
Тэги: AppJet, rss, сортировка, труба
О проблеме случайностей в Yahoo Pipes знают все, кто работает с трубами. Примитивные узконаправленные аналоги генератора случайных чисел в Yahoo Pipes можно сделать с помощью "времени". Поскольку главным объектом в Yahoo Pipes является фид, то отсутствие возможности отсортировать его случайным образом является большим минусом труб - хотя никакие другие сервисы так же не могут выполнить задачу по случайной сортировке RSS.
Поскольку своими силами Yahoo Pipes справиться с такой задачей не может, нам придется обратиться к сторонним сервисам, и в этом нам поможет некий AppJet - Instant web programming . Что такое AppJet с картинками и примерами можете почитать в Блоге о программировании . В общем, взяли этот AppJet, сделали в нем веб-приложение, которое работает с текстовым форматом обмена данных JSON , связали трубу с этим веб-приложением через модуль Web Service группы Operators и получили случайным образом отсортированную RSS-ленту:
Исходник трубы для сортировки RSS-ленты
Но не все так хорошо. Теперь я поведаю об ограничениях такого способа случайной сортирвки RSS:
- Поскольку обмен данными со сторонним веб-приложением происходит в текстовом формате, то для сортировки RSS с HTML-кодом придется немного подкорректировать возвращаемый веб-приложением HTML-код, ибо возвращаемый код кривой до ужаса из-за не менее кривого html encoding внутри AppJet;
- Такой способ сортировки не работает с русским языком, снова какие-то глюки с кодировками внутри AppJet, и эта проблема мной пока не решилась (рассматривается вариант создания впомогательной трубы для перекодирования каждого символа русского алфавита, пока нет нужны браться за это).
[...] поиска картинок по введенному ключевому запросу, случайным образом сортирует/перемешивает картинки, берет из этой мешанины нужное количество [...]