Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
	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)