comment
This commit is contained in:
parent
4ac68a6db6
commit
a561932844
8
addon.py
8
addon.py
@ -12,6 +12,7 @@ ADDON = xbmcaddon.Addon()
|
|||||||
CWD = ADDON.getAddonInfo('path').decode('utf-8')
|
CWD = ADDON.getAddonInfo('path').decode('utf-8')
|
||||||
#CWD = ADDON.getAddonInfo('path') # for kodi 19
|
#CWD = ADDON.getAddonInfo('path') # for kodi 19
|
||||||
|
|
||||||
|
# reads program names from JSON files and returns a dict
|
||||||
def list_programs(cinematic_path):
|
def list_programs(cinematic_path):
|
||||||
dirs, files = xbmcvfs.listdir(cinematic_path)
|
dirs, files = xbmcvfs.listdir(cinematic_path)
|
||||||
programs = {}
|
programs = {}
|
||||||
@ -24,6 +25,7 @@ def list_programs(cinematic_path):
|
|||||||
programs[program_data['name']] = filename
|
programs[program_data['name']] = filename
|
||||||
return programs
|
return programs
|
||||||
|
|
||||||
|
# shows the selection dialog with program names, returns JSON filename
|
||||||
def show_dialog(programs):
|
def show_dialog(programs):
|
||||||
entries = programs.keys()
|
entries = programs.keys()
|
||||||
dialog = xbmcgui.Dialog()
|
dialog = xbmcgui.Dialog()
|
||||||
@ -31,6 +33,7 @@ def show_dialog(programs):
|
|||||||
del dialog
|
del dialog
|
||||||
return programs[entries[ret]]
|
return programs[entries[ret]]
|
||||||
|
|
||||||
|
# get a number of random files from a directory
|
||||||
def files_from_dir(count, location):
|
def files_from_dir(count, location):
|
||||||
dirs, files = xbmcvfs.listdir(location)
|
dirs, files = xbmcvfs.listdir(location)
|
||||||
files = random.sample(files, count)
|
files = random.sample(files, count)
|
||||||
@ -38,6 +41,7 @@ def files_from_dir(count, location):
|
|||||||
files[i] = location + files[i]
|
files[i] = location + files[i]
|
||||||
return files
|
return files
|
||||||
|
|
||||||
|
# reads the JSON file and conducts a pre-program for the feature movie
|
||||||
def conduct_program(program_file, feature):
|
def conduct_program(program_file, feature):
|
||||||
filehandle = xbmcvfs.File(program_file)
|
filehandle = xbmcvfs.File(program_file)
|
||||||
program_json = filehandle.read()
|
program_json = filehandle.read()
|
||||||
@ -91,6 +95,7 @@ def conduct_program(program_file, feature):
|
|||||||
program.append(entry)
|
program.append(entry)
|
||||||
return program
|
return program
|
||||||
|
|
||||||
|
# fetches information on the feature movie
|
||||||
def get_feature(movieid):
|
def get_feature(movieid):
|
||||||
query = '{"jsonrpc": "2.0", "method": "VideoLibrary.GetMovieDetails", "params": {"movieid": %s, "properties": ["file", "mpaa", "uniqueid"]}, "id": "1"}' % movieid
|
query = '{"jsonrpc": "2.0", "method": "VideoLibrary.GetMovieDetails", "params": {"movieid": %s, "properties": ["file", "mpaa", "uniqueid"]}, "id": "1"}' % movieid
|
||||||
json_response = xbmc.executeJSONRPC(query)
|
json_response = xbmc.executeJSONRPC(query)
|
||||||
@ -108,10 +113,13 @@ def get_feature(movieid):
|
|||||||
}
|
}
|
||||||
return feature
|
return feature
|
||||||
|
|
||||||
|
# entry point
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
if (sys.argv[1] == 'experience'):
|
if (sys.argv[1] == 'experience'):
|
||||||
|
# addon is called like the experience plugin (Estuary skin does that)
|
||||||
movieid = xbmc.getInfoLabel('ListItem.DBID').decode('utf-8')
|
movieid = xbmc.getInfoLabel('ListItem.DBID').decode('utf-8')
|
||||||
else:
|
else:
|
||||||
|
# addon is called like CinemaVision plugin (Aeon Nox does that)
|
||||||
for arg in sys.argv[1:]:
|
for arg in sys.argv[1:]:
|
||||||
(name, value) = arg.split('=')
|
(name, value) = arg.split('=')
|
||||||
if name == 'dbid':
|
if name == 'dbid':
|
||||||
|
Loading…
Reference in New Issue
Block a user