#!/usr/bin/python3

import os
import argparse
from pyjokes.pyjokes import get_local_joke
from pyjokes.chuck import get_chuck_nerd_joke


def create_argparser():
    parser = argparse.ArgumentParser(description='One line jokes for programmers (jokes as a service)')
    parser.add_argument(
        '-s', '--source',
        dest='source',
        choices=['local', 'chuck'],
        default='local',
        help='Jokes database source.'
    )

    return parser


def main():
    parser = create_argparser()

    try:
        args = parser.parse_args()
    except argparse.ArgumentError as exc:
        print('Error parsing arguments.')
        parser.error(str(exc.message))
        exit(-1)

    joke = {
        'local': get_local_joke,
        'chuck': get_chuck_nerd_joke,
    }[args.source]()

    print(joke)


if __name__ == '__main__':
    main()
