Source code for pyplanet.core.controller

This file contains the static entry point to access the controller instance from anywhere without having a reference
to it and to prevent issues with circular imports.

Please import this from the ``pyplanet.core`` package instead!

class _Controller:
	def __init__(self, *args, **kwargs): = None
		self.__instance = None

	def prepare(self, name):
		from pyplanet.core.instance import Instance = name
		self.__instance = Instance(name)
		return self

	def instance(self):
		Get active instance in current process.

		:return: Controller Instance
		:rtype: pyplanet.core.instance.Instance
		return self.__instance

Controller = _Controller()
Controller access point to prevent circular imports. This is a lazy provided way to get the instance from anywhere!