Exemplo n.º 1
0
    def _check_credentials():
        """ Check if the user has credentials """
        if kodiutils.has_credentials():
            return True

        # You need to configure your credentials before you can access the content of VTM GO.
        confirm = kodiutils.yesno_dialog(message=kodiutils.localize(30701))
        if confirm:
            kodiutils.open_settings()
            if kodiutils.has_credentials():
                return True

        return False
Exemplo n.º 2
0
def index():
    """ Ask to login, or go to the main menu. """
    if not kodiutils.has_credentials():
        if not kodiutils.yesno_dialog(message=kodiutils.localize(
                30701)):  # You need to configure your credentials...
            # We have no credentials, return to the Home Menu
            kodiutils.end_of_directory()
            kodiutils.execute_builtin('ActivateWindow(Home)')
            return

        kodiutils.open_settings()

    try:
        # Try authentication
        AuthApi(username=kodiutils.get_setting('username'),
                password=kodiutils.get_setting('password'),
                tenant=kodiutils.get_setting('tenant'),
                token_path=kodiutils.get_tokens_path())
    except InvalidLoginException:
        kodiutils.ok_dialog(message=kodiutils.localize(
            30203))  # Your credentials are not valid!
        kodiutils.open_settings()
        kodiutils.execute_builtin('ActivateWindow(Home)')
        kodiutils.end_of_directory()
        return

    except HTTPError as exc:
        kodiutils.ok_dialog(message=kodiutils.localize(
            30702, code='HTTP %d' % exc.response.status_code)
                            )  # Unknown error while logging in: {code}
        kodiutils.end_of_directory()
        return

    show_main_menu()
Exemplo n.º 3
0
def index():
    """ Show the profile selection, or go to the main menu. """
    while True:
        if not kodiutils.has_credentials():
            if not kodiutils.yesno_dialog(message=kodiutils.localize(
                    30701)):  # You need to configure your credentials...
                # We have no credentials
                kodiutils.end_of_directory()
                kodiutils.execute_builtin('ActivateWindow(Home)')
                return

            kodiutils.open_settings()
        else:
            break

    try:
        if kodiutils.get_setting_bool('auto_login') and kodiutils.get_setting(
                'profile'):
            # We have a profile
            show_main_menu()

        else:
            # Ask the user for the profile to use
            select_profile()

    except InvalidLoginException:
        kodiutils.ok_dialog(message=kodiutils.localize(
            30203))  # Your credentials are not valid!
        kodiutils.open_settings()
        kodiutils.end_of_directory()

    except LoginErrorException as exc:
        kodiutils.ok_dialog(message=kodiutils.localize(
            30702, code=exc.code))  # Unknown error while logging in: {code}
        kodiutils.end_of_directory()

    except HTTPError as exc:
        kodiutils.ok_dialog(message=kodiutils.localize(
            30702, code='HTTP %d' % exc.response.status_code)
                            )  # Unknown error while logging in: {code}
        kodiutils.end_of_directory()
Exemplo n.º 4
0
    def show_mainmenu(self):
        """ Show the main menu """
        listing = []

        account = self._auth.login()

        listing.append(
            kodiutils.TitleItem(
                title=kodiutils.localize(30007),  # TV Channels
                path=kodiutils.url_for('show_channels'),
                art_dict=dict(
                    icon='DefaultAddonPVRClient.png',
                    fanart=kodiutils.get_addon_info('fanart'),
                ),
                info_dict=dict(plot=kodiutils.localize(30008), ),
            ))

        if account.product == 'VTM_GO':
            listing.append(
                kodiutils.TitleItem(
                    title=kodiutils.localize(30015),  # Recommendations
                    path=kodiutils.url_for('show_recommendations',
                                           storefront=STOREFRONT_MAIN),
                    art_dict=dict(
                        icon='DefaultFavourites.png',
                        fanart=kodiutils.get_addon_info('fanart'),
                    ),
                    info_dict=dict(plot=kodiutils.localize(30016), ),
                ))

            listing.append(
                kodiutils.TitleItem(
                    title=kodiutils.localize(30003),  # Movies
                    path=kodiutils.url_for('show_recommendations',
                                           storefront=STOREFRONT_MOVIES),
                    art_dict=dict(
                        icon='DefaultMovies.png',
                        fanart=kodiutils.get_addon_info('fanart'),
                    ),
                    info_dict=dict(plot=kodiutils.localize(30004), ),
                ))

            listing.append(
                kodiutils.TitleItem(
                    title=kodiutils.localize(30005),  # Series
                    path=kodiutils.url_for('show_recommendations',
                                           storefront=STOREFRONT_SERIES),
                    art_dict=dict(
                        icon='DefaultTVShows.png',
                        fanart=kodiutils.get_addon_info('fanart'),
                    ),
                    info_dict=dict(plot=kodiutils.localize(30006), ),
                ))

            listing.append(
                kodiutils.TitleItem(
                    title=kodiutils.localize(30021),  # Kids
                    path=kodiutils.url_for('show_recommendations',
                                           storefront=STOREFRONT_KIDS),
                    art_dict=dict(
                        icon='DefaultFavourites.png',
                        fanart=kodiutils.get_addon_info('fanart'),
                    ),
                    info_dict=dict(plot=kodiutils.localize(30022), ),
                ))

        elif account.product == 'VTM_GO_KIDS':
            listing.append(
                kodiutils.TitleItem(
                    title=kodiutils.localize(30015),  # Recommendations
                    path=kodiutils.url_for('show_recommendations',
                                           storefront=STOREFRONT_KIDS_MAIN),
                    art_dict=dict(
                        icon='DefaultFavourites.png',
                        fanart=kodiutils.get_addon_info('fanart'),
                    ),
                    info_dict=dict(plot=kodiutils.localize(30016), ),
                ))

        listing.append(
            kodiutils.TitleItem(
                title=kodiutils.localize(30001),  # A-Z
                path=kodiutils.url_for('show_catalog_all'),
                art_dict=dict(
                    icon='DefaultMovieTitle.png',
                    fanart=kodiutils.get_addon_info('fanart'),
                ),
                info_dict=dict(plot=kodiutils.localize(30002), ),
            ))

        # listing.append(kodiutils.TitleItem(
        #     title=kodiutils.localize(30003),  # Catalogue
        #     path=kodiutils.url_for('show_catalog'),
        #     art_dict=dict(
        #         icon='DefaultGenre.png',
        #         fanart=kodiutils.get_addon_info('fanart'),
        #     ),
        #     info_dict=dict(
        #         plot=kodiutils.localize(30004),
        #     ),
        # ))

        if kodiutils.get_setting_bool(
                'interface_show_mylist') and kodiutils.has_credentials():
            listing.append(
                kodiutils.TitleItem(
                    title=kodiutils.localize(30017),  # My List
                    path=kodiutils.url_for('show_mylist'),
                    art_dict=dict(
                        icon='DefaultPlaylist.png',
                        fanart=kodiutils.get_addon_info('fanart'),
                    ),
                    info_dict=dict(plot=kodiutils.localize(30018), ),
                ))

        if kodiutils.get_setting_bool('interface_show_continuewatching'
                                      ) and kodiutils.has_credentials():
            listing.append(
                kodiutils.TitleItem(
                    title=kodiutils.localize(30019),  # Continue watching
                    path=kodiutils.url_for('show_continuewatching'),
                    art_dict=dict(
                        icon='DefaultInProgressShows.png',
                        fanart=kodiutils.get_addon_info('fanart'),
                    ),
                    info_dict=dict(plot=kodiutils.localize(30020), ),
                ))

        listing.append(
            kodiutils.TitleItem(
                title=kodiutils.localize(30009),  # Search
                path=kodiutils.url_for('show_search'),
                art_dict=dict(
                    icon='DefaultAddonsSearch.png',
                    fanart=kodiutils.get_addon_info('fanart'),
                ),
                info_dict=dict(plot=kodiutils.localize(30010), ),
            ))

        kodiutils.show_listing(listing, sort=['unsorted'])