Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Сухроб Хусамов 11.09.2008 15:09 / 11.09.2008 15:10
Вот методы, которые на выходе дают хеш с тремя путями.@getPreviewSrcRUTUBE[][rutubeid;src] $rutubeid[^getRUTUBEid[]] $src[http://img.rutube.ru/thumbs] $src[$src/^rutubeid.left(2)] $src[$src/^rutubeid.mid(2;2)] $src[$src/$rutubeid] $result[ $.1[${src}-1.jpg] $.2[${src}-2.jpg] $.3[${src}-3.jpg] ]
@getPreviewSrcMAILRU[][slink;src] $slink[^self.link.split[/;lh]] #$src[http://img.video.mail.ru/images] $src[http://video.mail.ru] #$src[$src/$slink.3=$slink.4=$slink.5=p-^file:justname[$slink.6].jpg] $src[$src/$slink.3/$slink.4/$slink.5/p-^file:justname[$slink.6].jpg] $result[ $.1[$src] $.2[$src] $.3[$src] ]Соответственно для превью трех размеров. Правда для мэйл ру там только одна превью. Остальные не знаю как вытащить.
@loadAndSavePreviewFile[id;src] ^try{ $value[^file::load[binary;$src;$.timeout($self.videoalbum.timeout)]] $filename[$self.homedir/va${self.videoalbum.id}.v${self.id}.preview${id}.jpg] ^value.save[binary][$filename] }{ ^if(!^exception.type.pos[http]){ $exception.handled(true) ^throw[sf.vas;$src][ ... ] } }Таймаут я ставлю обычно 4 сек. Меньше не работает.
@getPlayerSrcMAILRU[] $slink[^self.link.split[/;lh]] $result[http://img.mail.ru/r/video2/player_v2.swf?par=http://content.video.mail.ru] $result[$result/$slink.3] $result[$result/$slink.4] $result[$result/$slink.5] $result[$result/^$^file:justname[$slink.6]^$0^$242] $result[${result}&page=2&imaginehost=video.mail.ru&perlhost=video.mail.ru] $result[${result}&alias=$slink.3] $result[${result}&username=$slink.4] $result[${result}&albumid=$slink.5] $result[${result}&id=^file:justname[$slink.6]] $result[${result}&catalogurl=http://video.mail.ru/catalog/clips/]Здесь $self.link путь к странице с флешкой, который выдает сам Рутубе.
@getPlayerSrc[] ^switch[$self.type]{ ^case[rutube]{$result[http://video.rutube.ru/^getRUTUBEid[]]} ^case[youtube]{} ^case[mailru]{$result[^getPlayerSrcMAILRU[]]} }
@getRUTUBEid[] $result[^self.link.split[=;lh]] $result[$result.1]Ну, а сам код OBJECT легко генерируется и без моих подсказок.