Browse Source

- xupnpd: vimeo plugin was moved to plugins repo

master
vanhofen 5 years ago
parent
commit
076bc22820
  1. 5
      make/target-tools.mk
  2. 154
      skel-root/general/xupnpd/share/xupnpd/plugins/xupnpd_vimeo.lua

5
make/target-tools.mk

@ -1315,9 +1315,10 @@ xupnpd: $(XUPNPD_DEPS) | $(TARGET_DIR)
$(INSTALL_COPY) plugins profiles ui www *.lua $(TARGET_SHARE_DIR)/xupnpd/ $(INSTALL_COPY) plugins profiles ui www *.lua $(TARGET_SHARE_DIR)/xupnpd/
rm $(TARGET_SHARE_DIR)/xupnpd/plugins/staff/xupnpd_18plus.lua rm $(TARGET_SHARE_DIR)/xupnpd/plugins/staff/xupnpd_18plus.lua
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_18plus.lua $(TARGET_SHARE_DIR)/xupnpd/plugins/ $(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_18plus.lua $(TARGET_SHARE_DIR)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_youtube.lua $(TARGET_SHARE_DIR)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_coolstream.lua $(TARGET_SHARE_DIR)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_cczwei.lua $(TARGET_SHARE_DIR)/xupnpd/plugins/ $(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_cczwei.lua $(TARGET_SHARE_DIR)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_coolstream.lua $(TARGET_SHARE_DIR)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_vimeo.lua $(TARGET_SHARE_DIR)/xupnpd/plugins/
$(INSTALL_DATA) -D $(SOURCE_DIR)/$(NI-NEUTRINO-PLUGINS)/scripts-lua/xupnpd/xupnpd_youtube.lua $(TARGET_SHARE_DIR)/xupnpd/plugins/
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/xupnpd.init $(TARGET_DIR)/etc/init.d/xupnpd $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/xupnpd.init $(TARGET_DIR)/etc/init.d/xupnpd
$(UPDATE-RC.D) xupnpd defaults 75 25 $(UPDATE-RC.D) xupnpd defaults 75 25
$(INSTALL_COPY) $(TARGET_FILES)/xupnpd/* $(TARGET_DIR)/ $(INSTALL_COPY) $(TARGET_FILES)/xupnpd/* $(TARGET_DIR)/

154
skel-root/general/xupnpd/share/xupnpd/plugins/xupnpd_vimeo.lua

@ -1,154 +0,0 @@
-- 03.03.2016
-- Copyright (C) 2011-2013 Anton Burdinuk
-- clark15b@gmail.com
-- https://tsdemuxer.googlecode.com/svn/trunk/xupnpd
cfg.vimeo_video_count=100
cfg.vimeo_fmt='1080p' -- quality: 1080p 720p 360p 270p
function pop(cmd)
local f = assert(io.popen(cmd, 'r'))
local s = assert(f:read('*a'))
f:close()
return s
end
function https_download(url)
local clip_page = pop("curl -k " .. url)
return clip_page
end
function vimeo_parse_feed(feed_url)
local t={}
local feed_data=http.download(feed_url)
if feed_data then
local x=json.decode(feed_data)
feed_data=nil
if x then
local idx=1
for i,j in ipairs(x) do
t[idx]={ ['title']=j.title, ['link']=j.url, ['logo']=j.thumbnail_medium }
idx=idx+1
end
end
end
return t
end
-- username, channel/channelname, group/groupname, album/album_id
function vimeo_updatefeed(feed,friendly_name)
local rc=false
local feed_url='http://vimeo.com/api/v2/'..feed..'/videos.json'
local feed_name='vimeo_'..string.gsub(feed,'/','_')
local feed_m3u_path=cfg.feeds_path..feed_name..'.m3u'
local tmp_m3u_path=cfg.tmp_path..feed_name..'.m3u'
local x=rss_merge(vimeo_parse_feed(feed_url),rss_parse_m3u(feed_m3u_path),cfg.vimeo_video_count)
-- local x=vimeo_parse_feed(feed_url)
if x then
local dfd=io.open(tmp_m3u_path,'w+')
if dfd then
dfd:write('#EXTM3U name=\"',friendly_name or feed_name,'\" type=mp4 plugin=vimeo\n')
for i,j in ipairs(x) do
if j.logo then
dfd:write('#EXTINF:0 logo=',j.logo,' ,',j.title,'\n',j.link,'\n')
else
dfd:write('#EXTINF:0 ,',j.title,'\n',j.link,'\n')
end
end
dfd:close()
if util.md5(tmp_m3u_path)~=util.md5(feed_m3u_path) then
if os.execute(string.format('mv %s %s',tmp_m3u_path,feed_m3u_path))==0 then
if cfg.debug>0 then print('Vimeo feed \''..feed_name..'\' updated') end
rc=true
end
else
util.unlink(tmp_m3u_path)
end
end
end
return rc
end
-- send '\r\n' before data
function vimeo_sendurl(vimeo_url,range)
if plugin_sendurl_from_cache(vimeo_url,range) then return end
local url=vimeo_get_video_url(vimeo_url)
if url==nil then
if cfg.debug>0 then print('Vimeo clip '..vimeo_url..' is not found') end
plugin_sendfile('www/corrupted.mp4')
else
if cfg.debug>0 then print('Vimeo Real URL: '..url) end
plugin_sendurl(vimeo_url,url,range)
end
end
function vimeo_get_video_url(vimeo_url)
local url=nil
local vimeo_id=string.match(vimeo_url,'.+/(%w+)$')
local config=plugin_download('http://player.vimeo.com/video/'..vimeo_id..'/config')
-- workaround for https https://player.vimeo.com/video/
if config == nil then
config = https_download('https://player.vimeo.com/video/'..vimeo_id..'/config')
end
if config then
local x=json.decode(config)
config=nil
local best = 0
for k,v in pairs(x.request.files.progressive) do
if v.quality == cfg.vimeo_fmt then -- "1080p" "720p"
url=v.url
break
end
local quali = tonumber(v.height)
if quali > best then
url=v.url
best = quali
end
end
end
if url then
if url and url:sub(1, 6) == 'https:' then
local url2 = 'http' .. url:sub(6, #url)
url=url2
end
return url
end
return nil
end
plugins['vimeo']={}
plugins.vimeo.name="Vimeo"
plugins.vimeo.desc="<i>username</i>, channel/<i>channelname</i>, group/<i>groupname</i>, album/<i>album_id</i>"
plugins.vimeo.sendurl=vimeo_sendurl
plugins.vimeo.updatefeed=vimeo_updatefeed
plugins.vimeo.getvideourl=vimeo_get_video_url
plugins.vimeo.ui_config_vars=
{
{ "input", "vimeo_video_count", "int" },
{ "select", "vimeo_fmt" }
}
Loading…
Cancel
Save