The resume menu exposed internal key names: « Reuse database without state_4 » tells nobody what will happen, and the most useful option -- keep the prepared database, redo the version bumps -- was the least readable of the four. It now prints where the migration actually stands: the zip, the database, the target, and one line per step with its state. Step 4 reports how many version bumps are migrated and names them, so « 0/6 · 13 14 15 16 17 18 » replaces a list index nobody could interpret. The four numbered options become: [c] continue where it stopped (was: press enter) [0-4] replay from that step (new: rewind to any step) [n] new migration, erase everything (was: [1]) [r] keep the zip, ask everything (was: [4]) Rewinding drops « state_* » from the chosen step onward and keeps the rest: config_* answers, the zip and the target version are decisions, not progress, so they are no longer re-asked. state_0_search_missing_module is still forced back to False, as the previous code did: it fills an in-memory dict the later steps rely on. Old [2] is now « replay from 0 », old [3] « replay from 4 ». First use of t() in this file; the new strings are translated in todo_i18n.py. Verified against the real progression of the 12.0 -> 18.0 migration and a synthetic one: for every step, the kept keys are exactly those of the earlier steps, config and target survive, and the module search is forced again. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| qemu_install_monitor.py | ||
| README.base.md | ||
| README.fr.md | ||
| README.md | ||
| source_todo.sh | ||
| todo.json | ||
| todo.py | ||
| todo_example.json | ||
| todo_file_browser.py | ||
| todo_i18n.py | ||
| todo_telemetry.py | ||
| todo_upgrade.py | ||
| version_manager.py | ||
TODO is an assistant robot to use ERPLibre
Execute it with ./script/todo/todo.py or make todo.
For a new project, copy todo_example.json to private/todo/todo_override.json | private/todo/todo_override_private.json and edit it.