def check_mode(args): """Run mode-specific functions. """ mode = args.mode log("CR: Main: argv[0] = %s" % sys.argv[0], xbmc.LOGDEBUG) log("CR: Main: argv[1] = %s" % sys.argv[1], xbmc.LOGDEBUG) log("CR: Main: argv[2] = %s" % sys.argv[2], xbmc.LOGDEBUG) log("CR: Main: args = %s" % str(args.__dict__), xbmc.LOGDEBUG) log("CR: Main: mode = %s" % mode, xbmc.LOGDEBUG) if mode is None: show_main(args) elif mode == 'channels': channels(args) elif mode == 'list_series': crj.list_series(args) elif mode == 'list_categories': crj.list_categories(args) elif mode == 'list_coll': crj.list_collections(args) elif mode == 'list_media': crj.list_media(args) elif mode == 'history': crj.history(args) elif mode == 'queue': crj.queue(args) elif mode == 'add_to_queue': crj.add_to_queue(args) elif mode == 'remove_from_queue': crj.remove_from_queue(args) elif mode == 'videoplay': crj.start_playback(args) else: fail(args)
def check_mode(args): """Run mode-specific functions. """ #For a very minimal request to play video try: mode = args.mode except: #Shorthand for play on id if hasattr(args, 'id'): mode = 'videoplay' #Shorthand for play on url elif hasattr(args, 'url'): mode = 'videoplay' args.id = re.sub(r'.*-', '', args.url) args.id = re.sub(r'\?.*', '', args.id) else: mode = None log("CR: Main: argv[0] = %s" % sys.argv[0], xbmc.LOGDEBUG) log("CR: Main: argv[1] = %s" % sys.argv[1], xbmc.LOGDEBUG) log("CR: Main: argv[2] = %s" % sys.argv[2], xbmc.LOGDEBUG) log("CR: Main: args = %s" % str(args.__dict__), xbmc.LOGDEBUG) log("CR: Main: mode = %s" % mode, xbmc.LOGDEBUG) if mode is None: show_main(args) elif mode == 'channels': channels(args) elif mode == 'list_series': crj.list_series(args) elif mode == 'list_categories': crj.list_categories(args) elif mode == 'list_coll': crj.list_collections(args) elif mode == 'list_media': crj.list_media(args) elif mode == 'history': crj.history(args) elif mode == 'queue': crj.queue(args) elif mode == 'add_to_queue': crj.add_to_queue(args) elif mode == 'remove_from_queue': crj.remove_from_queue(args) elif mode == 'videoplay': crj.start_playback(args) elif mode == 'get_random': crj.get_random(args) elif mode == 'set_progress': crj.set_progress(args, args.time) elif mode == 'bad_login': bad_login(args) else: fail(args)
def check_mode(args): """Run mode-specific functions. """ #For a very minimal request to play video try: mode = args.mode except: #Shorthand for play on id if hasattr(args,'id'): mode = 'videoplay' #Shorthand for play on url elif hasattr(args,'url'): mode = 'videoplay' args.id = re.sub(r'.*-', '', args.url) args.id = re.sub(r'\?.*', '', args.id) else: mode = None log("CR: Main: argv[0] = %s" % sys.argv[0], xbmc.LOGDEBUG) log("CR: Main: argv[1] = %s" % sys.argv[1], xbmc.LOGDEBUG) log("CR: Main: argv[2] = %s" % sys.argv[2], xbmc.LOGDEBUG) log("CR: Main: args = %s" % str(args.__dict__), xbmc.LOGDEBUG) log("CR: Main: mode = %s" % mode, xbmc.LOGDEBUG) if mode is None: show_main(args) elif mode == 'channels': channels(args) elif mode == 'list_series': crj.list_series(args) elif mode == 'list_categories': crj.list_categories(args) elif mode == 'list_coll': crj.list_collections(args) elif mode == 'list_media': crj.list_media(args) elif mode == 'history': crj.history(args) elif mode == 'queue': crj.queue(args) elif mode == 'add_to_queue': crj.add_to_queue(args) elif mode == 'remove_from_queue': crj.remove_from_queue(args) elif mode == 'videoplay': crj.start_playback(args) elif mode == 'get_random': crj.get_random(args) elif mode == 'set_progress': crj.set_progress(args,args.time) elif mode == 'bad_login': bad_login(args) else: fail(args)
def fail(args): """Unrecognized mode found. """ badstuff = args._lang(30207) add_item(args, {'title': badstuff, 'mode': 'fail'}) log("CR: Main: check_mode fall through", xbmc.LOGWARNING) endofdirectory()
def main(): """Main function for the addon. """ args = parse_args() if crj.load_pickle(args) is False: add_item(args, {'title': 'Session failed: Check login'}) endofdirectory() else: xbmcplugin.setContent(int(sys.argv[1]), 'movies') check_mode(args) try: base_path = xbmc.translatePath( args._addon.getAddonInfo('profile')).decode('utf-8') pickle_path = os.path.join(base_path, "cruchyPickle") user_data = pickle.dump(args.user_data, open(pickle_path, 'wb')) except: log("CR: Unable to dump pickle")
def main(): """Main function for the addon. """ args = parse_args() if crj.load_pickle(args) is False: add_item(args, {'title': 'Session failed: Check login'}) endofdirectory() else: xbmcplugin.setContent(int(sys.argv[1]), 'movies') check_mode(args) try: base_path = xbmc.translatePath(args._addon.getAddonInfo('profile')).decode('utf-8') pickle_path = os.path.join(base_path, "cruchyPickle") user_data = pickle.dump(args.user_data, open(pickle_path, 'wb')) except: log("CR: Unable to dump pickle")
def main(): """Main function for the addon. """ args = parse_args() if (hasattr(args, 'mode')) and (args.mode == 'bad_login'): bad_login(args) args = parse_args() args.mode = None logged_in = True if crj.load_pickle(args) is False: base_path = xbmc.translatePath( args._addon.getAddonInfo('profile')).decode('utf-8') pickle_path = os.path.join(base_path, "cruchyPickle") if os.path.exists( pickle_path): #silently remove crunchyPickle and try again os.remove(pickle_path) if crj.load_pickle(args) is False: #Yes, we retry logged_in = False add_item(args, {'title': args._lang(30206), 'mode': 'bad_login'}) endofdirectory() if logged_in: xbmcplugin.setContent(int(sys.argv[1]), 'tvshows') check_mode(args) try: base_path = xbmc.translatePath( args._addon.getAddonInfo('profile')).decode('utf-8') pickle_path = os.path.join(base_path, "cruchyPickle") user_data = pickle.dump(args.user_data, open(pickle_path, 'wb')) except: log("CR: Unable to dump pickle")
def main(): """Main function for the addon. """ args = parse_args() if (hasattr(args,'mode')) and (args.mode == 'bad_login'): bad_login(args) args = parse_args() args.mode = None logged_in = True if crj.load_pickle(args) is False: base_path = xbmc.translatePath(args._addon.getAddonInfo('profile')).decode('utf-8') pickle_path = os.path.join(base_path, "cruchyPickle") if os.path.exists(pickle_path): #silently remove crunchyPickle and try again os.remove(pickle_path) if crj.load_pickle(args) is False: #Yes, we retry logged_in = False add_item(args, {'title': args._lang(30206), 'mode': 'bad_login'}) endofdirectory() if logged_in: xbmcplugin.setContent(int(sys.argv[1]), 'tvshows') check_mode(args) try: base_path = xbmc.translatePath(args._addon.getAddonInfo('profile')).decode('utf-8') pickle_path = os.path.join(base_path, "cruchyPickle") user_data = pickle.dump(args.user_data, open(pickle_path, 'wb')) except: log("CR: Unable to dump pickle")