#! /usr/bin/env python3

import sys
import argparse
import wikicurses.ui as ui
from wikicurses import settings

parser = argparse.ArgumentParser(
    description="A simple curses interface for accessing Wikipedia.")

parser.add_argument('search',
                    nargs='?',
                    default='Main page',
                    help="page to search for")
parser.add_argument('-w', '--wiki', help='wiki api url')
# For shell completion functions
parser.add_argument('--complete',
                    action='store',
                    help=argparse.SUPPRESS)

parser.add_argument('-f', '--feed', help='view featured feed')

args = parser.parse_args()
ui.openWiki(args.wiki)

if args.complete:
    if args.complete == 'search':
        sugestions = ui.wiki.search_sugestions(args.search)
    elif args.complete == 'feed':
        sugestions = ui.wiki.list_featured_feeds()
    elif args.complete == 'wiki':
        sugestions = settings.wikis().keys()
    print(*sugestions, sep='\n')
    sys.exit()

callback = lambda x, y: ui.openPage(args.feed or args.search, bool(args.feed))
ui.loop.set_alarm_in(0, callback)  # Open page once loop is started
try:
    ui.loop.run()
except KeyboardInterrupt:
    pass
