def get_user_info(session, consumer_key, consumer_secret, api_url): params = {'action': 'query', 'meta': 'userinfo'} access_token_key = session['token_key'] access_token_secret = session['token_secret'] content = make_api_call(consumer_key, consumer_secret, access_token_key, access_token_secret, 'GET', params, api_url) return content
def get_edit_token(session, consumer_key, consumer_secret, api_url): token_params = { 'action': 'tokens', 'type': 'edit' } access_token_key = session['token_key'] access_token_secret = session['token_secret'] token_resp = make_api_call(consumer_key, consumer_secret, access_token_key, access_token_secret, 'GET', token_params, api_url) token = json.loads(token_resp)['tokens']['edittoken'] # what if we get an empty token? return token
def post_new_section(page_title, section_title, text, summary, session, consumer_key, consumer_secret, api_url): access_token_key = session['token_key'] access_token_secret = session['token_secret'] token = get_edit_token(session, consumer_key, consumer_secret, api_url) params = { 'action': 'edit', 'title': page_title, 'section': 'new', 'sectiontitle': section_title, 'text': text, 'summary': summary, 'watchlist': 'nochange', 'token': token } edit_resp = make_api_call(consumer_key, consumer_secret, access_token_key, access_token_secret, 'POST', params, api_url) edit_resp = json.loads(edit_resp) if edit_resp.get('error'): raise MediaWikiError(edit_resp['error']) if edit_resp['edit']['result'] == 'Success': print 'Successfully edited %s' % edit_resp['edit']['title'] return edit_resp