def main(mode):
    if mode == 'game':
        import launchGame
        launchGame.launchGame(params)
    elif mode == 'games':
        import listGames
        listGames.listGames(params)
    elif mode == 'clients':
        import listClients
        listClients.listClients(params)
    elif mode == 'noauth':
        import listClients
        listClients.no_authentification(params)
    elif mode == 'achievements':
        import listAchievements
        listAchievements.listAchievements(params)
    elif mode == 'movies':
        import listMovies
        listMovies.listMovies(params)
    elif mode == 'wakeIndex':
        import wakeIndex
        wakeIndex.wakeIndex()
    elif mode == 'wake':
        import wake
        wake.wake(params)
    elif mode == 'clearMacs':
        try:
            import cPickle as pickle
        except:
            import pickle
        pickle.dump(set(), open(os.path.join(utils.USER_DATA, "macs.pickle"), "w+"))
    elif mode == 'reset':
        main("clearMacs")
        utils.addon.setSetting("invalid_steam_api_key", "false")
        utils.addon.setSetting("steam_api_key", "")
        utils.addon.setSetting("prescript", "")
        utils.addon.setSetting("postscript", "")
        utils.addon.setSetting("first_run", "true")
    elif mode == 'settings':
        utils.addon.openSettings()
    else:
        import index
        index.index()
def wake(params):
    mac = params.get('mac', None).replace("-", ":")
    if mac:
        xbmc.executebuiltin("WakeOnLan("+mac+")") #this is very easy, thanks kodi
    else:
        keyboard = xbmc.Keyboard('', utils.translation(32035))
        keyboard.doModal()
        if (keyboard.isConfirmed()):
            mac = keyboard.getText()
            if re.match(r'^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$', mac, re.I) == None: #verify mac
                dialog = xbmcgui.Dialog()
                ok = dialog.ok(utils.translation(32036), utils.translation(32037))
                import wakeIndex
                return wakeIndex.wakeIndex()
            else:
                xbmc.executebuiltin("WakeOnLan("+mac+")")
                macs = pickle.load(open(os.path.join(utils.USER_DATA, "macs.pickle"), "r"))
                macs.add(mac)
                pickle.dump(macs, open(os.path.join(utils.USER_DATA, "macs.pickle"), "w+"))