플러그인에서도 context menu(키보드 C)가 동작하며 사용자가 추가할 수도 있다.
예를 들어 다운로드 명령을 추가하여 재생가능 비디오를 저장도 할 수 있게 할 수 있다.
# -*- coding: utf-8 -*-
from xbmcswift2 import Plugin
plugin = Plugin()
@plugin.route('/')
def main_menu():
vid_url = 'http://goo.gl/Za1tw'
items = [
{'label':'Hello World',
'path':vid_url,
'thumbnail':'http://goo.gl/zRbCi',
'is_playable':True,
'context_menu': [
('Download', actions.background(plugin.url_for('download_video', url=vid_url)))
]}
]
return items
@plugin.route('/download/<url>')
def download_video(url):
r = urllib.urlopen(url)
f = open('/tmp/a.mp4', 'wb')
f.write( r.read() )
f.close()
r.close()
plugin.notify('Download completed')
return None
if __name__ == "__main__":
plugin.run()
# vim:sw=4:sts=4:et
context_menu 항목을 추가하면 되며, 이것은 tuple의 array를 값으로 가진다. 각 tuple은 label과 actions으로 구성된다.
직접 다운로드 루틴을 작성하는 것보단 가능하면 SimpleDownloader 스크립트를 이용하는 것이 안전해 보인다.
'컴퓨터' 카테고리의 다른 글
PC용 텍본 리더들 (5) | 2015.04.08 |
---|---|
XBMC 스크래퍼 만들기 (0) | 2015.04.02 |
XBMC 플러그인 만들기 - 7강: 언어와 설정 불러오기 (0) | 2015.04.02 |
XBMC 플러그인 만들기 - 6강: 즉석 비디오 재생 (0) | 2015.04.02 |