Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import os.path
- import xbmcplugin
- import xbmcgui
- import urllib
- import urllib2
- import re
- import simplejson
- import xbmcvfs
- def listFolderContent(rootFolder):
- movieRecords = simplejson.loads(xbmc.executeJSONRPC('{"jsonrpc" : "2.0", "method" : "Files.GetDirectory", "params":{ "directory": "'+rootFolder+'" }, "id": 1}'))
- movieList = movieRecords["result"]["files"]
- if not movieList:
- liz=xbmcgui.ListItem('-- EMPTY --','')
- url = '-- EMPTY --'
- xbmcplugin.addDirectoryItem(int(sys.argv[1]),url,liz,0)
- else:
- for movie in movieList:
- if movie["filetype"] == 'directory' and movie["label"].lower() <> "subs" and movie["label"].lower() <> "proof" and movie["label"].lower() <> "sample" and movie["label"].lower() <> ".ds_store" and movie["label"].lower() <> "$recycle.bin" and movie["label"].lower() <> "system volume information":
- if xbmcvfs.exists(movie["file"]+'desktop.ini') :
- liz=xbmcgui.ListItem("[COLOR=FFFF0000]"+movie["label"]+"[/COLOR]")
- else:
- liz=xbmcgui.ListItem(movie["label"],'')
- url = sys.argv[0] + "?path=" + urllib.quote_plus(movie["file"])
- xbmcplugin.addDirectoryItem(int(sys.argv[1]),url,liz,1)
- elif movie["filetype"] == 'file' and os.path.splitext(movie["file"])[1].lower() in xbmc.getSupportedMedia('video'):
- liz=xbmcgui.ListItem(movie["label"],'')
- url = movie["file"]
- xbmcplugin.addDirectoryItem(int(sys.argv[1]),url,liz,0)
- url = sys.argv[0] + "?a=" + urllib.quote_plus(rootFolder)
- liz=xbmcgui.ListItem("-- Archive",'')
- xbmcplugin.addDirectoryItem(int(sys.argv[1]),url,liz,0)
- url = sys.argv[0] + "?m=" + urllib.quote_plus(rootFolder)
- liz=xbmcgui.ListItem("-- Mark",'')
- xbmcplugin.addDirectoryItem(int(sys.argv[1]),url,liz,0)
- url = sys.argv[0] + "?u=" + urllib.quote_plus(rootFolder)
- liz=xbmcgui.ListItem("-- Unmark",'')
- xbmcplugin.addDirectoryItem(int(sys.argv[1]),url,liz,0)
- url = sys.argv[0] + "?w=" + urllib.quote_plus(rootFolder)
- liz=xbmcgui.ListItem("-- Watched",'')
- xbmcplugin.addDirectoryItem(int(sys.argv[1]),url,liz,0)
- elif movie["filetype"] == 'file' and (os.path.splitext(movie["file"])[1].lower() in xbmc.getSupportedMedia('music') or os.path.splitext(movie["file"])[1].lower() in xbmc.getSupportedMedia('picture')):
- liz=xbmcgui.ListItem(movie["label"],'')
- url = movie["file"]
- xbmcplugin.addDirectoryItem(int(sys.argv[1]),url,liz,0)
- xbmcplugin.endOfDirectory(int(sys.argv[1]), 1)
- return (0)
- if cmp (sys.argv[2][0:6],"?path=") == 0:
- listFolderContent(urllib2.unquote(sys.argv[2][6:]))
- elif cmp (sys.argv[2][0:3],"?a=") == 0 or cmp (sys.argv[2][0:3],"?m=") == 0 or cmp (sys.argv[2][0:3],"?u=") == 0 or cmp (sys.argv[2][0:3],"?w=") == 0:
- dialog = xbmcgui.Dialog()
- if dialog.yesno("Confirmation", "Are you sure?"):
- pageUrl = "http://mediaserver/markfolder.asp"+sys.argv[2][0:3]+sys.argv[2][3:-3]
- f=urllib2.urlopen(pageUrl)
- a=f.read()
- f.close()
- if a != "":
- dialog = xbmcgui.Dialog()
- ok = dialog.ok('Status', a)
- else:
- movieRecords = simplejson.loads(xbmc.executeJSONRPC('{"jsonrpc" : "2.0", "method" : "Files.GetDirectory", "params":{ "directory": "smb://mediaserver/movies/" }, "id": 1}'))
- movieList = movieRecords["result"]["files"]
- for movie in movieList:
- liz=xbmcgui.ListItem('[Mediaserver] - '+movie["label"],'')
- url = sys.argv[0] + "?path=" + urllib.quote_plus(movie["file"])
- xbmcplugin.addDirectoryItem(int(sys.argv[1]),url,liz,1)
- xbmcplugin.endOfDirectory(int(sys.argv[1]), 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement