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 leave it out as unsupported parameter.
- If it is optional, document it being optional 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 [[ https://doc.wikimedia.org/pywikibot/stable/api_ref/pywikibot.site.html#pywikibot.site._apisite.APISite.simple_request | simple_request() ]] for calling API
**Reveiew user right**
You can ask to be added to `reviewer` user group in fiwiki for developing by commenting on this phabricator ticket
**Test pages**
Do not review/unreview other pages than these for testing
- https://fi.wikipedia.org/wiki/Merkityt_versiot_-kokeilu/Testisivu_1
- https://fi.wikipedia.org/wiki/Merkityt_versiot_-kokeilu/Testisivu_2
- https://fi.wikipedia.org/wiki/Merkityt_versiot_-kokeilu/Testisivu_3
- https://fi.wikipedia.org/wiki/Merkityt_versiot_-kokeilu/Testisivu_4
**Documentation:**
- https://www.mediawiki.org/wiki/Extension:FlaggedRevs#API
**Examples:**
- [[ https://hu.wikipedia.org/wiki/Szerkesztő:BinBot/huwiki/flaggedrevs.py | huwiki: flaggedrevs.py ]] (see `review_id()` function)
- [[ https://github.com/wikimedia/pywikibot/blob/master/pywikibot/site/_apisite.py#L2858 | _apisite:protect() ]]
- [[ https://github.com/wikimedia/pywikibot/blob/master/tests/site_tests.py#L546 | tests/site_tests.py | test_protect() ]]
- [[ https://github.com/zache-fi/PendingChangesBot/blob/master/pendingchanges.py#L279 | PendingChangesBot: review() -- Note: this is old and it doesn't use simple_request ]]
**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