#!/usr/bin/python # -*- coding: utf-8 -*- """ A script which takes a revision ID on the test wiki and thanks it on behalf of the user logged in. Syntax: python pwb.py thanks [rev] @params; -rev: - The value of the revisionID to be thanked. """ from __future__ import absolute_import, unicode_literals import pywikibot from pywikibot.comms.http import session def thank_rev(rev_id): """ Thank the given revision ID on the wiki on behalf of the user logged in. """ #Login into the wiki site = pywikibot.Site() site.login() #Get csrf token from site. token = site.tokens['csrf'] #Make the Thanks API call. values = {'rev' : rev_id, 'source' : 'test_thank', 'token' : token } r = session.post("https://test.wikipedia.org/w/api.php?action=thank&format=json", data=values) print (r.text) def main(*args): """ Proces command line arguments and thank the rev """ # Process the args local_args = pywikibot.handle_args(args) for arg in local_args: option, sep, value = arg.partition(':') if option == '-rev': rev_id = int(value) #Call the thank method thank_rev(rev_id) if __name__ == "__main__": main()