Пример #1
0
 def enable_plugin(self, file_path: str):
     self.logger.info(
         self.mcdr_server.tr('plugin_manager.enable_plugin.entered',
                             file_path))
     new_file_path = string_util.remove_suffix(
         file_path, constant.DISABLED_PLUGIN_FILE_SUFFIX)
     if os.path.isfile(file_path):
         os.rename(file_path, new_file_path)
         self.load_plugin(new_file_path)
Пример #2
0
 def enable_plugin(self, file_path: str):
     with self.__mani_lock:
         self.logger.info(
             self.mcdr_server.tr('plugin_manager.enable_plugin.entered',
                                 file_path))
         new_file_path = string_util.remove_suffix(
             file_path, plugin_constant.DISABLED_PLUGIN_FILE_SUFFIX)
         if plugin_factory.is_disabled_plugin(file_path):
             os.rename(file_path, new_file_path)
             self.load_plugin(new_file_path)
Пример #3
0
def __get_plugin_class_from_path(file_path: str,
                                 allow_disabled: bool) -> Optional[type]:
    if os.path.isfile(file_path):
        if file_path.endswith(plugin_constant.DISABLED_PLUGIN_FILE_SUFFIX
                              ) and allow_disabled:
            file_path = string_util.remove_suffix(
                file_path, plugin_constant.DISABLED_PLUGIN_FILE_SUFFIX)
        suffix = file_util.get_file_suffix(file_path)
        if suffix == plugin_constant.SOLO_PLUGIN_FILE_SUFFIX:  # .py
            return SoloPlugin
        if suffix in plugin_constant.PACKED_PLUGIN_FILE_SUFFIXES:  # .mcdr
            return PackedPlugin
    elif os.path.isdir(file_path) and (
            allow_disabled or not file_path.endswith(
                plugin_constant.DISABLED_PLUGIN_FILE_SUFFIX)):
        if os.path.isfile(
                os.path.join(
                    file_path,
                    plugin_constant.PLUGIN_META_FILE)) and not os.path.isfile(
                        os.path.join(file_path, '__init__.py')):
            return DirectoryPlugin
    return None
Пример #4
0
 def get_fallback_metadata_id(self) -> str:
     file_name = string_util.remove_suffix(
         self.file_name, plugin_constant.SOLO_PLUGIN_FILE_SUFFIX)
     return re.sub(r'[^a-z0-9]', '_', file_name.lower())