def req_path(*paths):
    from resources import connect

    auth_url = generic_utility.auth_url()
    endpoints = generic_utility.endpoints()

    if not auth_url or not endpoints:
        connect.do_login()

    post = '{"paths":['
    for curpath in paths:
        post += curpath+','
    post = post[:-1]
    post += '],"authURL":"%s"}' % auth_url
    post = json.loads(post)

    content = connect.load_netflix_site(generic_utility.evaluator_url % (generic_utility.api_url, endpoints['/pathEvaluator']), post)
    jsn = json.loads(content)
    if 'error' in jsn:
        err = jsn['error']
        if 'innerErrors' in err:
            inners = err['innerErrors']
            for inner_err in inners:
                if 'message' in inner_err:
                    msg = inner_err['message']
                    if 'Map cache miss' == msg:
                        raise CacheMissException(content)
        raise Exception('Invalid path response: ' + content)
    if 'value' not in jsn:
        raise Exception('Invalid path response: ' + content)

    return jsn['value']
def req_json_path(*paths):
    from resources import connect

    auth_url = generic_utility.auth_url()
    api_url = generic_utility.api_url()

    if not auth_url or not api_url:
        connect.do_login()

    post = '{"paths":['
    for curpath in paths:
        post += curpath + ','
    post = post[:-1]
    post += '],"authURL":"%s"}' % auth_url

    content = connect.load_netflix_site(
        generic_utility.evaluator_url % (api_url),
        post,
        headers={"Content-Type": "application/json"})
    jsn = json.loads(content)
    if 'error' in jsn:
        err = jsn['error']
        if 'innerErrors' in err:
            inners = err['innerErrors']
            for inner_err in inners:
                if 'message' in inner_err:
                    msg = inner_err['message']
                    if 'Map cache miss' == msg:
                        raise CacheMissException(content)
        raise Exception('Invalid path response: ' + content)
    if 'value' not in jsn:
        raise Exception('Invalid path response: ' + content)

    return jsn['value']
Example #3
0
def req_path(*paths):
    from resources import connect

    auth_url = generic_utility.auth_url()
    api_url = generic_utility.api_url()

    if not auth_url or not api_url:
        connect.do_login()

    post = '{"paths":['
    for curpath in paths:
        post += curpath + ','
    post = post[:-1]
    post += '],"authURL":"%s"}' % auth_url

    content = connect.load_netflix_site(
        '%s/pathEvaluator?materialize=true&model=harris' % api_url, post)
    jsn = json.loads(content)
    if 'error' in jsn:
        err = jsn['error']
        if 'innerErrors' in err:
            inners = err['innerErrors']
            for inner_err in inners:
                if 'message' in inner_err:
                    msg = inner_err['message']
                    if 'Map cache miss' == msg:
                        raise CacheMissException(content)
        raise Exception('Invalid path response: ' + content)
    if 'value' not in jsn:
        raise Exception('Invalid path response: ' + content)

    return jsn['value']
Example #4
0
def handle_request():
#    generic_utility.log('mode: '+mode)
    if mode == 'main':
        general.main(video_type)
    elif mode == 'list_videos':
        list.videos(url, video_type, page, run_as_widget)
    elif mode == 'list_seasons':
        list.seasons(name, url, thumb)
    elif mode == 'list_episodes':
        list.episodes(series_id, url)
    elif mode == 'list_genres':
        list.genres(video_type)
    elif mode == 'list_viewing_activity':
        list.viewing_activity(video_type, run_as_widget)
    elif mode == 'add_to_queue':
        queue.add(url)
    elif mode == 'remove_from_queue':
        queue.remove(url)
    elif mode == 'add_movie_to_library':
        library.add_movie(url, name)
    elif mode == 'remove_movie_from_library':
        library.remove_movie(name)
    elif mode == 'add_series_to_library':
        library.add_series(series_id, name, url)
    elif mode == 'remove_series_from_library':
        library.remove_series(name)
    elif mode == 'play_trailer':
        play.trailer(url, video_type)
    elif mode == 'choose_profile':
        connect.choose_profile()
    elif mode == 'search':
        search.netflix(video_type)
    elif mode == 'delete_cookies':
        delete.cookies()
    elif mode == 'delete_cache':
        delete.cache()
    elif mode == 'reset_addon':
        delete.addon()
    elif mode == 'play_video':
        #    utility.log('play_video: '+url)
        play.video(url, series_id);
    elif mode == 'play_video_main':
        #    utility.log('play_video_main: '+url)
        play.video(url, series_id);
    elif mode == 'relogin':
        connect.do_login()
    else:
        general.index()
Example #5
0
def handle_request():
    #    generic_utility.log('mode: '+mode)
    if mode == 'main':
        general.main(video_type)
    elif mode == 'list_videos':
        list.videos(url, video_type, page, run_as_widget)
    elif mode == 'list_seasons':
        list.seasons(name, url, thumb)
    elif mode == 'list_episodes':
        list.episodes(series_id, url)
    elif mode == 'list_genres':
        list.genres(video_type)
    elif mode == 'list_viewing_activity':
        list.viewing_activity(video_type, run_as_widget)
    elif mode == 'add_to_queue':
        queue.add(url)
    elif mode == 'remove_from_queue':
        queue.remove(url)
    elif mode == 'add_movie_to_library':
        library.add_movie(url, name)
    elif mode == 'remove_movie_from_library':
        library.remove_movie(name)
    elif mode == 'add_series_to_library':
        library.add_series(series_id, name, url)
    elif mode == 'remove_series_from_library':
        library.remove_series(name)
    elif mode == 'play_trailer':
        play.trailer(url, video_type)
    elif mode == 'choose_profile':
        connect.choose_profile()
    elif mode == 'search':
        search.netflix(video_type)
    elif mode == 'delete_cookies':
        delete.cookies()
    elif mode == 'delete_cache':
        delete.cache()
    elif mode == 'reset_addon':
        delete.addon()
    elif mode == 'play_video':
        #    utility.log('play_video: '+url)
        play.video(url, series_id)
    elif mode == 'play_video_main':
        #    utility.log('play_video_main: '+url)
        play.video(url, series_id)
    elif mode == 'relogin':
        connect.do_login()
    else:
        general.index()
def main(video_type):
    add.directory(generic_utility.get_string(30105), '',
                  'list_viewing_activity', '', video_type)

    if video_type == 'show':
        add.directory(generic_utility.get_string(30107), 'genre?83',
                      'list_videos', '', video_type)
        add.directory(generic_utility.get_string(30108), '', 'list_genres', '',
                      video_type)

    elif video_type == 'movie':
        add.directory(generic_utility.get_string(30108), '', 'list_genres', '',
                      video_type)
    elif video_type == 'dynamic':
        add_dynamic_lists()

    if video_type != 'dynamic' and generic_utility.get_setting(
            'is_kid') == 'false':
        try:
            root_list = lolomos.get_root_list()
        except AttributeError:
            if connect.do_login():
                root_list = lolomos.get_root_list()
            else:
                raise Exception("Cannot login")
        mylist = lolomos.get_mylist(root_list)
        add.directory(child('displayName', mylist[1]), 'list?&mylist',
                      'list_videos', '', video_type)

    add.directory(generic_utility.get_string(30109), '', 'search', '',
                  video_type)
    xbmcplugin.endOfDirectory(plugin_handle, cacheToDisc=False)
Example #7
0
    elif mode == 'search':
        search.netflix(video_type)
    elif mode == 'delete_cookies':
        delete.cookies()
    elif mode == 'delete_cache':
        delete.cache()
    elif mode == 'reset_addon':
        delete.addon()
    elif mode == 'play_video':
        #    utility.log('play_video: '+url)
        play.video(url, series_id);
    elif mode == 'play_video_main':
        #    utility.log('play_video_main: '+url)
        play.video(url, series_id);
    elif mode == 'relogin':
        connect.do_login()
    else:
        general.index()


try:
    handle_request()
except:
    generic_utility.log('parameters: ' + sys.argv[2])
    generic_utility.log(traceback.format_exc(), xbmc.LOGERROR)
    dialog = xbmcgui.Dialog()
    do_fresh_login = dialog.yesno(generic_utility.get_string(50002), generic_utility.get_string(50003), generic_utility.get_string(50004))
    if do_fresh_login:
        if connect.do_login()==True:
            generic_utility.notification('Login refreshed. please try again.')
Example #8
0
    elif mode == 'delete_cookies':
        delete.cookies()
    elif mode == 'delete_cache':
        delete.cache()
    elif mode == 'reset_addon':
        delete.addon()
    elif mode == 'play_video':
        #    utility.log('play_video: '+url)
        play.video(url, series_id)
    elif mode == 'play_video_main':
        #    utility.log('play_video_main: '+url)
        play.video(url, series_id)
    elif mode == 'relogin':
        connect.do_login()
    else:
        general.index()


try:
    handle_request()
except:
    generic_utility.log('parameters: ' + sys.argv[2])
    generic_utility.log(traceback.format_exc(), xbmc.LOGERROR)
    dialog = xbmcgui.Dialog()
    do_fresh_login = dialog.yesno(generic_utility.get_string(50002),
                                  generic_utility.get_string(50003),
                                  generic_utility.get_string(50004))
    if do_fresh_login:
        if connect.do_login() == True:
            generic_utility.notification(generic_utility.get_string(50006))
Example #9
0
        delete.cache()
    elif mode == 'reset_addon':
        delete.addon()
    elif mode == 'play_video':
        #    utility.log('play_video: '+url)
        play.video(url, series_id);
    elif mode == 'play_video_main':
        #    utility.log('play_video_main: '+url)
        play.video(url, series_id);
    elif mode == 'relogin':
        connect.do_login()
    elif mode == 'superbrowse':
        list.superbrowse()
    else:
        general.index()


try:
    handle_request()
except:
    generic_utility.log('parameters: ' + sys.argv[2])
    generic_utility.log(traceback.format_exc(), xbmc.LOGERROR)

    if connect.do_login():
        handle_request()
    else:
        dialog = xbmcgui.Dialog()
        do_fresh_login = dialog.yesno(generic_utility.get_string(50002), generic_utility.get_string(50003), generic_utility.get_string(50004))
        if do_fresh_login:
            generic_utility.notification(generic_utility.get_string(50006))
        #    utility.log('play_video: '+url)
        play.video(url, series_id);
    elif mode == 'play_video_main':
        #    utility.log('play_video_main: '+url)
        play.video(url, series_id);
    elif mode == 'relogin':
        connect.do_login()
    elif mode == 'superbrowse':
        list.superbrowse()
    else:
        general.index()


try:
    handle_request()
except Exception, e:
    generic_utility.log('parameters: ' + sys.argv[2])
    generic_utility.log(traceback.format_exc(), xbmc.LOGERROR)

    if ("login" in str(e)):
        dialog = xbmcgui.Dialog()
        do_fresh_login = dialog.ok(generic_utility.get_string(50002), generic_utility.get_string(50007), generic_utility.get_string(50008))
    else:
        if connect.do_login():
            handle_request()
        else:
            dialog = xbmcgui.Dialog()
            do_fresh_login = dialog.yesno(generic_utility.get_string(50002), generic_utility.get_string(50003), generic_utility.get_string(50004))
            if do_fresh_login:
                generic_utility.notification(generic_utility.get_string(50006))