From 0bcb3957e58a554cbc7d8931b4ce97c2b6b45aee Mon Sep 17 00:00:00 2001 From: Emmanuel Engelhart Date: Sat, 15 Nov 2025 14:57:17 +0100 Subject: [PATCH] Fix kiwix-manage 'add' docopt definition --- src/manager/kiwix-manage.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/manager/kiwix-manage.cpp b/src/manager/kiwix-manage.cpp index f47984b..31528b3 100644 --- a/src/manager/kiwix-manage.cpp +++ b/src/manager/kiwix-manage.cpp @@ -60,7 +60,7 @@ static const char USAGE[] = R"(Manipulates the Kiwix library XML file Usage: - kiwix-manage LIBRARYPATH add [--zimPathToSave=] [--url=] ZIMPATH + kiwix-manage LIBRARYPATH add [--zimPathToSave=] [--url=] ZIMPATH ... kiwix-manage LIBRARYPATH (delete|remove) ZIMID ... kiwix-manage LIBRARYPATH show [ZIMID ...] kiwix-manage -v | --version @@ -115,19 +115,21 @@ int handle_add(kiwix::LibraryPtr library, const std::string& libraryPath, kiwix::Manager manager(library); - std::string zimPath = options.at("ZIMPATH").asString(); - if (options.at("--zimPathToSave").isString()) { - zimPathToSave = options.at("--zimPathToSave").asString(); - } else { - zimPathToSave = zimPath; - } - if (options.at("--url").isString()) { - url = options.at("--url").asString(); - } + auto zimPaths = options.at("ZIMPATH").asStringList(); + for (auto& zimPath: zimPaths) { + if (options.at("--zimPathToSave").isString()) { + zimPathToSave = options.at("--zimPathToSave").asString(); + } else { + zimPathToSave = zimPath; + } + if (options.at("--url").isString()) { + url = options.at("--url").asString(); + } - if (manager.addBookFromPathAndGetId(zimPath, zimPathToSave, url, false).empty()) { - std::cerr << "Cannot add ZIM " << zimPath << " to the library." << std::endl; - return 1; + if (manager.addBookFromPathAndGetId(zimPath, zimPathToSave, url, false).empty()) { + std::cerr << "Cannot add ZIM " << zimPath << " to the library." << std::endl; + return 1; + } } return 0;