Esempio n. 1
0
def splashscreen():
    
    splashgui = SplashScreenUI("funimation-splash.xml", utils.getAddonInfo('path'), 'default', "720p");
    
    splashgui.doModal();

    del splashgui;
Esempio n. 2
0
def genreshows(landing_page, navSet=None):

    
    genreshowsui = GenreShowsUI("funimation-genre-shows.xml", utils.getAddonInfo('path'), 'default', "720p");   
    
    genreshowsui.setInitialItem(landing_page, navSet);
    genreshowsui.doModal();

    del genreshowsui;
Esempio n. 3
0
def helpmenu():

    helpmenugui = HelpMenuUI("funimation-help-menu.xml",
                             utils.getAddonInfo('path'), 'default', "720p")

    helpmenugui.createHelpMenuButtons()
    helpmenugui.doModal()

    del helpmenugui
def search(landing_page):

    searchui = SearchUI("funimation-search.xml", utils.getAddonInfo('path'),
                        'default', "720p")

    searchui.setInitialItem(landing_page)
    searchui.doModal()

    del searchui
Esempio n. 5
0
def audioselect(landing_page, navSet=None):

    
    audioselectui = AudioSelectUI("funimation-audio-select.xml", utils.getAddonInfo('path'), 'default', "720p");   
    
    audioselectui.setInitialItem(landing_page, navSet);
    audioselectui.doModal();

    del audioselectui;
def genreselect(landing_page, navSet=None):

    genreselectui = GenreSelectUI("funimation-genre-select.xml",
                                  utils.getAddonInfo('path'), 'default',
                                  "720p")

    genreselectui.setInitialItem(landing_page, navSet)
    genreselectui.doModal()

    del genreselectui
def watchlist(landing_page, navSet=None):

    watchlistgui = WatchListUI("funimation-watchlist-select.xml",
                               utils.getAddonInfo('path'), 'default', "720p")

    watchlistgui.runDirectoryChecks()
    watchlistgui.setInitialItem(landing_page, navSet)
    watchlistgui.getCurrentSet()

    watchlistgui.doModal()

    del watchlistgui
Esempio n. 8
0
    def playIntro(self):

        try:

            playercontrol = self.getControl(100);

            if playercontrol:

                self.player.run(os.path.join(utils.getAddonInfo('path'), 'resources/skins/default/media/FunimationNowExtended.mp4'), self);

        except:
            pass;
Esempio n. 9
0
def rating(rating):

    ratingui = RatingViewUI("funimation-rating.xml",
                            utils.getAddonInfo('path'), 'default', "720p")

    ratingui.setInitialRating(rating)
    ratingui.doModal()

    userRating = ratingui.getUserRating()

    del ratingui

    return userRating
def loginscreen():

    logingui = TrialScreenUI("funimation-login.xml",
                             utils.getAddonInfo('path'), 'default', "720p")

    logingui.createLoginSplash()
    logingui.doModal()

    result = logingui.getResult()

    del logingui

    return result
Esempio n. 11
0
def select(listset, sX, sY):

    
    selectui = NAvListUi("funimation-select.xml", utils.getAddonInfo('path'), 'default', "720p");   
    
    selectui.setInitialItem(listset, sX, sY);
    selectui.doModal();


    selectedItemPosition = selectui.getSelectedItemPosition();

    del selectui;

    return selectedItemPosition
def main(prev=None):

    fnui = FunimationNowUI("funimation-main.xml", utils.getAddonInfo('path'),
                           'default', "720p")

    fnui.setMenuButtonPlaceHolders()
    fnui.setPrevWindow(prev)
    fnui.setLandingPage()

    fnui.doModal()

    resultCode = fnui.getResultCode()

    del fnui

    return resultCode
def cleanup(skip_settings=False):

    try:

        addon_data = xbmc.translatePath(utils.getAddonInfo('profile')).decode('utf-8');

        try:

            utils.resetSettings();

        except:
            pass;

        try:

            tokens = xbmc.translatePath(os.path.join(addon_data, 'tokens.db'));
            os.remove(tokens);

        except:
            pass;

        try:

            mediaPath = xbmc.translatePath(os.path.join(addon_data, 'media'));
            shutil.rmtree(mediaPath);

        except:
            pass;

        try:

            synch = xbmc.translatePath(os.path.join(addon_data, 'synch.db'));
            os.remove(synch);

        except:
            pass;


    except Exception as inst:
        logger.error(inst);
def settings(landing_page, parent, child, controlID):

    RESULT_CODE = REST_CODE

    try:

        #xbmc.executebuiltin('Addon.OpenSettings(%s)' % utils.getAddonInfo('id'));
        utils.addon.openSettings()

        utils.lock()
        utils.sleep(2000)
        utils.unlock()

        addon_data = xbmc.translatePath(
            utils.getAddonInfo('profile')).decode('utf-8')
        tokens = xbmc.translatePath(os.path.join(addon_data, 'tokens.db'))

        if not os.path.exists(tokens):
            RESULT_CODE = LOGOUT_CODE

    except Exception as inst:
        logger.error(inst)

    return RESULT_CODE
Esempio n. 15
0
    def contactsupport(self, mailto):

        import platform
        import webbrowser

        try:

            mailtoURL = mailto.format(
                appid='FunimationNOW',
                version=utils.getAddonInfo('version'),
                device=('%s.%s' % (platform.system(), platform.machine())),
                os=('%s - Kodi.%s' %
                    (platform.version(),
                     xbmc.getInfoLabel('System.BuildVersion'))),
                connection='WiFi',
                carrier='N/A')

            githubUrl = 'https://github.com/Protocol-X/%s/issues/new' % utils.getAddonInfo(
                'id')

            osWin = xbmc.getCondVisibility('system.platform.windows')
            osOsx = xbmc.getCondVisibility('system.platform.osx')
            osLinux = xbmc.getCondVisibility('system.platform.linux')
            osAndroid = xbmc.getCondVisibility('System.Platform.Android')

            if osOsx:

                try:
                    utils.openBrowser(mailtoURL)
                    utils.openBrowser(githubUrl)

                except:
                    xbmc.executebuiltin("System.Exec(open '%s')" % mailtoURL)
                    xbmc.executebuiltin("System.Exec(open '%s')" % githubUrl)

            elif osWin:

                try:
                    utils.openBrowser(mailtoURL)
                    utils.openBrowser(githubUrl)

                except:
                    xbmc.executebuiltin("System.Exec(cmd.exe /c start '%s')" %
                                        mailtoURL)
                    xbmc.executebuiltin("System.Exec(cmd.exe /c start '%s')" %
                                        githubUrl)

            elif osLinux and not osAndroid:

                try:
                    utils.openBrowser(mailtoURL)
                    utils.openBrowser(githubUrl)

                except:
                    xbmc.executebuiltin("System.Exec(xdg-open '%s')" %
                                        mailtoURL)
                    xbmc.executebuiltin("System.Exec(xdg-open '%s')" %
                                        githubUrl)

            elif osAndroid:

                xbmc.executebuiltin(
                    "StartAndroidActivity(com.google.android.gmcom.google.android.gm.ComposeActivityGmail,android.content.Intent.ACTION_SENDTO,plain/text,%s)"
                    % mailtoURL)

                #Until we can figure out the email issues.
                utils.openBrowser(
                    'https://github.com/Protocol-X/%s/issues/new' %
                    utils.getAddonInfo('id'))
                #http://stackoverflow.com/questions/8284706/send-email-via-gmail
                #http://stackoverflow.com/questions/3470042/intent-uri-to-launch-gmail-app
                #http://forum.kodi.tv/showthread.php?tid=232485

        except:
            pass
    def populateDetails(self, cItem, sItem, sIdx, viewtype, controlID,
                        loadDisplay):

        try:

            #if loadDisplay is False:
            #time.sleep(sIdx*2)

            detailspath = os.path.join(utils.getAddonInfo('path'),
                                       'resources/skins/default/media/')

            titleImg = None
            statsImg = None
            genreImg = None
            descImg = None
            starImg = None
            qualityImg = None
            ratingImg = None

            if viewtype in SHOW_VIEWS:

                (starRating, quality, ratings,
                 params) = self.setShowDetails(cItem, sItem, sIdx, viewtype,
                                               loadDisplay)

                titleImg = os.path.join(self.details_title,
                                        ('%s.png' % params))
                statsImg = os.path.join(self.details_stats,
                                        ('%s.png' % params))
                genreImg = os.path.join(self.details_genre,
                                        ('%s.png' % params))
                descImg = os.path.join(self.details_desc, ('%s.png' % params))

            else:

                (starRating, quality, ratings,
                 params) = self.setEpisodeDetails(cItem, sItem, sIdx, viewtype,
                                                  loadDisplay)

                titleImg = os.path.join(self.details_title,
                                        ('%s.png' % params))
                statsImg = os.path.join(self.details_stats,
                                        ('%s.png' % params))
                genreImg = os.path.join(self.details_genre,
                                        ('%s.png' % params))
                descImg = os.path.join(self.details_desc, ('%s.png' % params))

            if ratings is None:

                tmpTerritory = funimationnow.getTerritory()

                if tmpTerritory:

                    if tmpTerritory == 'CA':
                        ratings = '18'

                    elif tmpTerritory == 'GB':
                        ratings = 'r18'

                    elif tmpTerritory == 'IE':
                        ratings = 'ma'

                    else:
                        ratings = 'tv-ma'

            starImg = '%sflagging/rating/%s_c.png' % (detailspath, starRating)
            qualityImg = '%sflagging/resolution/%s_c.png' % (detailspath,
                                                             quality)
            ratingImg = ('%sflagging/mpaa/%s_c_%s.png' %
                         (detailspath, ratings.lower(),
                          funimationnow.getTerritory().lower()))

            if loadDisplay:

                ncItem = self.getControl(controlID)
                nsIdx = ncItem.getSelectedPosition()

                if self.aList == controlID and self.aPos == nsIdx:

                    self.getControl(SHOWCASE_ART_CONTROL).setImage(
                        self.getAdjustedImage(controlID))
                    self.setDownloadedDetails(titleImg, statsImg, genreImg,
                                              descImg, params, starImg,
                                              qualityImg, ratingImg)

        except Exception as inst:
            self.logger.error(inst)