#!/usr/bin/python3
import requests
import sys
import textwrap

def connection_error():
    print("Could not contact wikipedia servers.")
    sys.exit(1)

def get_random_page():
    params = {
            'action' : 'query',
            'format' : 'json',
            'list' : 'random',
            'rnlimit' : 1,
            'rnnamespace' : 0
            }
    try:
        return requests.get('https://en.wikipedia.org/w/api.php', params).json()['query']['random'][0]
    except ConnectionError:
        connection_error()

def get_page_with_summary(title):
    try:
        return requests.get('https://en.wikipedia.org/api/rest_v1/page/summary/' + title).json()
    except ConnectionError:
        connection_error()

def main():
    while True:
        page = get_page_with_summary(get_random_page()['title'])
        if page['type'] == 'standard':
            break
    print(page['title'] + ':\n\n' + textwrap.fill(page['extract'], width=80))

if __name__ == '__main__':
    main()