In a nutshell:
- rename remove subcommand into void
- add a drop subcommand
I'm just starting to use pywikibot to help me making batch edit of categories for Wiki Loves Love on Commons. So I was happy to see that an existing script was already making what I wanted out of the box, thank you for that.
However I've been confused by the CLI: while adding a category to a list of pages stored in a file was straight forward, the script help was very clear on the add subcommand and worked as I expected.
However removing an existing category from a list of pages was not so obvious: the lake of difficulty with the add command gave me confidence to try directly the "remove" option in the exact same way, providing the same file listing targeted images as input. But it happens that remove actually void the category, using all items it contains as input. Admittedly, it's clear once you read the command help thoroughly, but it's nonetheless a surprising behaviour, at least to me. Thus I would suggest to rename this subcommand void, drain, empty, gut, deplete or something like that.
Next seeing no clear option to remove a category from a list of pages, I started to edit the script in order to evaluate if I could quickly add a drop subcommand. I then discovered that actually one can apparently use the move command to remove a category if the target category is "none". That should at minimum appear in the subcommand help I think. However, I would suggest to rather add a drop subcommand, and deprecate the move to oblivion behaviour.