Add headless CLI mode to dbibackend - #406
Conversation
|
Added a follow-up commit with unit tests for the new dbibackend path/CLI behavior. Covered cases:
Validation now includes:
|
|
Also, a small personal note related to this contribution: We are working on an independent Switch homebrew project inspired by DBI's workflow, focused on a Spanish-friendly MTP transfer/install experience with a more visual UI, clearer per-file results, and better diagnostic logs for failed NSP/XCI transfers. Project: https://github.com/erickreyestorres/transferencia-switch We are not trying to misuse DBI or copy private work without permission. If DBI's main program source is available under any license, or if you would be open to authorizing reuse of specific parts, guidance, or collaboration, we would be very grateful. If not, no problem at all: we will continue with an independent clean implementation and use DBI only as functional inspiration. If any of our UI/reporting ideas could be useful for DBI, we would also be happy to adapt and contribute them in the direction you prefer. |
|
Bilingual note / Двуязычное сообщение: English: We are working on an independent Switch homebrew project inspired by DBI's workflow, focused on a Spanish-friendly MTP transfer/install experience with a more visual UI, clearer per-file results, and better diagnostic logs for failed NSP/XCI transfers. Project: https://github.com/erickreyestorres/transferencia-switch We are not trying to misuse DBI or copy private work without permission. If DBI's main program source is available under any license, or if you would be open to authorizing reuse of specific parts, guidance, or collaboration, we would be very grateful. If not, no problem at all: we will continue with an independent clean implementation and use DBI only as functional inspiration. If any of our UI/reporting ideas could be useful for DBI, we would also be happy to adapt and contribute them in the direction you prefer. Русский: Мы работаем над независимым homebrew-проектом для Nintendo Switch, вдохновлённым рабочим процессом DBI. Цель проекта — сделать более удобный для испаноязычных пользователей MTP transfer/install инструмент: с более наглядным интерфейсом, понятными результатами по каждому файлу и более подробными диагностическими логами для неудачных передач NSP/XCI. Проект: https://github.com/erickreyestorres/transferencia-switch Мы не хотим неправомерно использовать DBI или копировать закрытую работу без разрешения. Если исходный код основной программы DBI доступен под какой-либо лицензией, либо если вы готовы разрешить использование отдельных частей, дать технические рекомендации или рассмотреть сотрудничество, мы будем очень благодарны. Если нет — никаких проблем: мы продолжим независимую clean-room реализацию и будем использовать DBI только как функциональное вдохновение. Если какие-либо наши идеи по интерфейсу или отчётам о передаче могут быть полезны для DBI, мы также будем рады адаптировать их и внести вклад в том направлении, которое вы посчитаете правильным. |
Summary
This adds a small CLI layer to
dbibackendwhile keeping the existing GUI behavior unchanged by default.New options:
--no-guito run dbibackend from terminals/scripts without Tk UI--recursiveto add files from folders recursively--filter-installersto only add NSP/NSZ/XCI/XCZ files from folders--helpthrough argparseOther small robustness improvements:
--helpworks even when PyUSB is not installed yetREADME.md was updated with the new CLI examples.
Validation
python -m py_compile ./dbibackendpython ./dbibackend --helppython ./dbibackend --no-guireportsNo files to serveand exits with code 1 as expectedI could not validate the USB transfer path with a Switch in DBIbackend mode from this environment, so the protocol behavior was kept unchanged except for safer logging/checks around it.