Currently there is no FlaggedRevs review support in Pywikibot. Add FlaggedRevs review API support to Pywikibot.
**Proposed Solution:**
Add new function `review() ` to [[ https://github.com/wikimedia/pywikibot/blob/master/pywikibot/site/_apisite.py | pywikibot/site/ _apisite.py ]] with following parameters
- `revid`: The revision ID for which to set the flags
- `summary`: Comment for the review (optional, default "")
- `flag_accuracy`: Set the flag named "accuracy" to the specified value; (replace "accuracy" with the flag name to set another flag)
- `unapprove` : If set, revision will be unapproved rather than approved (optional, default: None)
**Notes**
- Test if flag parameter mandatory? If it is not then make it optional. Document it also to [[ https://www.mediawiki.org/wiki/Extension:FlaggedRevs#action=review | mediawiki.org: Extension:FlaggedRev ]] page.
- Pywikibot uses `summary` in function call parameters, FlaggedRews API uses `comment` as parameter name
- use Pywikibots `simple_request()` for calling API
**Documentation:**
- https://www.mediawiki.org/wiki/Extension:FlaggedRevs#API
**Examples:**
- [[ https://github.com/wikimedia/pywikibot/blob/master/pywikibot/site/_apisite.py#L2858 | _apisite:protect() ]]
- [[ https://github.com/zache-fi/PendingChangesBot/blob/master/pendingchanges.py#L279 | PendingChangesBot: review() ]]
**Code Review Requirements:**
For the patch to pass Pywikibot code review, please ensure:
# Follow Gerrit guidelines:
- [[ https://www.mediawiki.org/wiki/Manual:Pywikibot/Gerrit#For_developers | Manual:Pywikibot/Gerrit - For_developers ]]
- [[ https://www.mediawiki.org/wiki/Gerrit/Commit_message_guidelines | Gerrit: Commit message guidelines ]]
- See also: T407059 (Pywikibot contribution howto documentation)
# Code quality:
- Patch must follow the Pywikibot style guide
- No flake8 errors or warnings
- Commit message must follow style guidelines
# Testing:
- Added error handling must include unit tests
- Tests should verify proper error detection and messaging for OAuth/BotPassword scenarios