| Новости | 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 легко генерируется и без моих подсказок.