def __init__(self, root, is_type_editor): """ Args: root: path of project root folder is_type_editor: bool. see class docstring """ self.path = util.normpath(os.path.abspath(root)) self.is_type_editor = is_type_editor self._auto_create_clazz_folder = True # Must be the first self.event_manager = EventManager() self.type_manager = TypeManager() self.fs_manager = FileSystemManager( self, os.path.join(self.path, const.PROJECT_FOLDER_DATA)) # should after fs_manager self.object_manager = ObjectManager(self) # should after object_manager self.ref_manager = RefManager() # self._langauges = ('en', ) self._default_language = 'en' self._translations = {} self._verifier = None self._loading_errors = AttrVerifyLogger() self.tags = set() self._next_ids = {} # {clazz_name: next_id} self._loaded = False self._editor_project = None