示例#1
0
文件: app.py 项目: hatnote/omwcat
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
示例#2
0
文件: app.py 项目: hatnote/omwcat
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
示例#3
0
文件: app.py 项目: hatnote/omwcat
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