aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/installer_omod.py29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/plugins/installer_omod.py b/src/plugins/installer_omod.py
index 2a586c1..973b9ba 100644
--- a/src/plugins/installer_omod.py
+++ b/src/plugins/installer_omod.py
@@ -13,6 +13,7 @@ import lzma
import os
import shutil
import struct
+import sys
import tempfile
import zipfile
import zlib
@@ -21,6 +22,14 @@ from pathlib import Path
import mobase
+def _log_error(msg: str) -> None:
+ print(f"[OMOD] {msg}", file=sys.stderr)
+
+
+def _log_warn(msg: str) -> None:
+ print(f"[OMOD] WARNING: {msg}", file=sys.stderr)
+
+
class OmodInstaller(mobase.IPluginInstallerCustom):
_organizer: mobase.IOrganizer
@@ -79,7 +88,7 @@ class OmodInstaller(mobase.IPluginInstallerCustom):
try:
return self._do_install(mod_name, archive_name)
except Exception as e:
- mobase.log(mobase.LogLevel.ERROR, f"OMOD install failed: {e}")
+ _log_error(f"OMOD install failed: {e}")
return mobase.InstallResult.FAILED
def _do_install(
@@ -91,7 +100,7 @@ class OmodInstaller(mobase.IPluginInstallerCustom):
names = zf.namelist()
if "config" not in names:
- mobase.log(mobase.LogLevel.WARNING, "OMOD: no config entry found")
+ _log_warn("no config entry found")
return mobase.InstallResult.NOT_ATTEMPTED
config = self._parse_config(zf.read("config"))
@@ -127,9 +136,7 @@ class OmodInstaller(mobase.IPluginInstallerCustom):
file_list.append(rel)
if not file_list:
- mobase.log(
- mobase.LogLevel.WARNING, "OMOD: no files extracted"
- )
+ _log_warn("no files extracted")
return mobase.InstallResult.FAILED
# Repackage as a standard zip for MO2's installer.
@@ -155,10 +162,7 @@ class OmodInstaller(mobase.IPluginInstallerCustom):
if stream_name not in names:
return
if crc_name not in names:
- mobase.log(
- mobase.LogLevel.WARNING,
- f"OMOD: {stream_name} present but {crc_name} missing",
- )
+ _log_warn(f"{stream_name} present but {crc_name} missing")
return
file_list = self._parse_crc_file(zf.read(crc_name))
@@ -171,11 +175,10 @@ class OmodInstaller(mobase.IPluginInstallerCustom):
offset = 0
for path, size in file_list:
if offset + size > len(decompressed):
- mobase.log(
- mobase.LogLevel.WARNING,
- f"OMOD: truncated stream for {path} "
+ _log_warn(
+ f"truncated stream for {path} "
f"(need {size} bytes at offset {offset}, "
- f"have {len(decompressed)})",
+ f"have {len(decompressed)})"
)
break