Pull to refresh

Пример создания пайпа в Yahoo! Pipes.

Reading time3 min
Views2K
Меня просили рассказать о том, каким образом можно использовать Yahoo! Pipes, и вот я разобрал один из примеров из перевода статьи об этом замечательном сервисе.


Итак, вот что мы видим, когда начинаем создавать новый пайп:



Слева находится панель инструментов, снизу находится отладчик, в котором можно смотреть промежуточные значения на выходах каждой плашки.
Сейчас мы создадим пайп, который будет брать последние прослушанные треки с last.fm и показывать соответствующие им картинки.

1. Для начала, нужно получить имя пользователя на last.fm. Для этого перетаскиваем панельку Text Input на рабочую область и заполняем её поля. Сама панель находится в подразделе User Inputs левой плашки.
Поле Name – название панельки;
Prompt – запрос, которые будет написан при просмотре пайпа;
Default – значение, которое будет выставлено по умолчанию;
Debug – значение, которое будет использоваться в режиме отладки, все данные в нижнем поле Debug берутся с использованием именно этого значения.



2. Теперь, нам нужно вытащить по введённому пользователю юзернейму rss-фид с последними прослушанным им треками.
Известно, что ссылка на rss с последними песнями на last.fm имеет вид ws.audioscrobbler.com/1.0/user/Uznick/recenttracks.rss. Понятно, что первым делом нужно к имени пользователя, введённому выше, добавить строчку /recenttracks.rss. Для этого переносим на рабочее поле инструмент String Concatenate из раздела Strings. По умолчанию, у него одно поле для ввода, но нам нужно два. Почему два? Потому, что этот инструмент работает следующим образом: к строке с первого поля прибавляет строку со второго поля. Создаём второе поле и вводим туда /recenttracks.rss, соединяем плашку с юзернейном с первым полем и смотрим в окошко debug: в нём сейчас стоит uznick/recenttracks.rss, а это то, что нужно.



3. Теперь сформируем полный путь к фиду с треками. Для этого надо использовать инструмент URLBuilder из раздела URL. В принципе, здесь можно было бы использовать знакомый нам String Concatenate, но есть одно но: на выходе String Concatenate мы получаем данные типа String, а нам нужно сформировать данные типа URL.
Переносим URLBuilder в рабочую область и заполняем его поля. В поле Base вводим основную часть урла, в нашем случае это ws.audioscrobbler.com/1.0/user. В поле path elements ничего сейчас вводить не надо, просто соединяем с ним выход String Concatenate и смотрим результат: в поле debug написано ws.audioscrobbler.com/1.0/user/uznick/recenttracks.rss, всё верно.



4. Получаем содержимое rss-потока. В этом нам поможет элемент Fetch из раздела Sources. Соединяем его вход с выходом предыдущего элемента и смотрим в debug, там у нас список песен.



5. Всё что нам осталось сделать – вытащить по этим результатам картинки из Flickr и заменить ими полученные песни. Перетаскиваем на рабочую область элемент For Each: Replace из панельки Operators, потом перетаскиваем туда модуль Flicr из панельки Sources. Выбираем количество записей, которые надо выдрать из Flickr в поле Find (допустим, 5) и выбираем в поле images of из какого поля нужно брать названия этих картинок (нам нужно выбрать title). Теперь соединяем вход элемента For Each с выходом элемента Fetch, затем выход For Each с входом блока Pipe Output (этим блоком обязательно должен заканчиваться любой пайп) и всё, пайп готов.



Теперь пайп можно сохранить (Save в правом верхнем углу) или опубликовать для публики (Publish там же).



Ссылка на полученный пайп: pipes.yahoo.com/pipes/dtak0t282xGsC7COJphxuA

Это моё первое руководство, пишите в комментариях впечатления и замечания.
Tags:
Hubs:
+25
Comments18

Articles

Change theme settings