def init(): '''Mod's main entry point. Called by WoT's built-in mod loader.''' try: log.install_logger_impl(gameapi.Logger) timer.set_eventloop(gameapi.EventLoop) app = { "initialize": Initialize, "load-settings": LoadSettings, "cache-chatuser": CacheChatUser, "pair-chatuser-to-player": PairChatUserToPlayer, "update-chatuser-speakstate": UpdateChatUserSpeakState, "remove-chatuser": RemoveChatUser, "clear-speakstatuses": ClearSpeakStatuses, "notify-chatclient-disconnected": NotifyChatClientDisconnected, "show-chatclient-plugin-install-message": ShowChatClientPluginInstallMessage, "install-chatclient-plugin": InstallChatClientPlugin, "ignore-chatclient-plugin-install-message": IgnoreChatClientPluginInstallMessage, "show-chatclient-plugin-info-url": ShowChatClientPluginInfoUrl, "notify-connected-to-chatserver": NotifyConnectedToChatServer, "publish-gamenick-to-chatserver": PublishGameNickToChatServer, "show-usercache-error-message": ShowCacheErrorMessage, "enable-positional-data-to-chatclient": EnablePositionalDataToChatClient, "provide-positional-data-to-chatclient": ProvidePositionalDataToChatClient, "battle-replay-start": BattleReplayStart, "populate-usercache-with-players": PopulateUserCacheWithPlayers } [di.install_provider(interactor) for interactor in app.itervalues()] for name, cls in app.iteritems(): app[name] = create_executable(cls) di.provide("settings", SettingsAdapter(app)) di.provide("minimap", MinimapAdapter()) di.provide("chatindicator", ChatIndicatorAdapter()) di.provide("usercache", UserCacheAdapter(app)) di.provide("chatclient", TeamSpeakChatClientAdapter(app)) di.provide("datastorage", DataStorageAdapter()) di.provide("notifications", NotificationsAdapter(app)) di.provide("battle", BattleAdapter(app)) di.provide("players", PlayerAdapter()) di.provide("environment", EnvironmentAdapter()) try: from tessumod import build_info print "TessuMod version {0} ({1})".format(build_info.MOD_VERSION, build_info.SUPPORT_URL) except ImportError: print "TessuMod development version" app["initialize"]() except: log.LOG_CURRENT_EXCEPTION()
def setUp(self): try: os.makedirs(os.path.dirname(ini_path)) except: pass try: os.remove(ini_path) except: pass self.eventloop = mock.MagicMock() self.app = mock.MagicMock() self.app["show-usercache-error-message"].side_effect = self.set_error timer.set_eventloop(self.eventloop) self.adapter = UserCacheAdapter(self.app) self.error_message = "" self.adapter.init(ini_path)