Files
arma-modlist-tools/arma_modlist_tools/__init__.py
Tran G. (Revernomad) Khoa 48637ffe90 feat: add migrate step to move mod folders between groups on preset change
Before step_fetch, scan all downloads/ subdirs and move any mod that
comparison.json now assigns to a different group. Matching uses steam_id
(via meta.cpp publishedid) first, normalized name as fallback.

Stale junctions in arma_dir are removed before the folder move so
step_link can re-create them pointing to the new location.

- New arma_modlist_tools/migrator.py: migrate_mod_groups()
- run.py: step_migrate(), --skip-migrate flag, wired into dispatch loop
- gui/app.py: step_migrate inserted as Step 3/5 between compare and fetch
- gui/locales.py: add step3/4/5 names (en + vi), renumber old 3->4, 4->5
- test_suite.py: 7 new migrator tests (158 total, 0 failed)
2026-04-14 15:08:40 +07:00

39 lines
1.3 KiB
Python

from .parser import parse_mod_entry, parse_modlist_html, parse_modlist_dir
from .compare import compare_presets
from .fetcher import (
make_session, build_server_index, find_mod_folder,
list_mod_files, list_mod_updates, download_file, download_mod_folder,
)
from .linker import (
get_mod_folders, get_link_status, create_junction,
remove_junction, link_group, unlink_group,
)
from .config import load_config, Config
from .compat import is_windows, is_linux, get_os_label, fix_console_encoding
from .reporter import build_missing_report, save_missing_report
from .cleaner import find_orphan_folders, folder_size
from .migrator import migrate_mod_groups
__all__ = [
# parser
"parse_mod_entry", "parse_modlist_html", "parse_modlist_dir",
# compare
"compare_presets",
# fetcher
"make_session", "build_server_index", "find_mod_folder",
"list_mod_files", "list_mod_updates", "download_file", "download_mod_folder",
# linker
"get_mod_folders", "get_link_status", "create_junction",
"remove_junction", "link_group", "unlink_group",
# config
"load_config", "Config",
# compat
"is_windows", "is_linux", "get_os_label", "fix_console_encoding",
# reporter
"build_missing_report", "save_missing_report",
# cleaner
"find_orphan_folders", "folder_size",
# migrator
"migrate_mod_groups",
]