Source code for pycapital.pycapital

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from sys import argv
import argparse
import sys
import os.path

sys.path.append(os.path.join(os.path.dirname(__file__), '.'))
import country_data

""" Main module. """

TTY = False  # Flag will be set to true when running script interactively
COUNTRY_DATA = country_data.country_data  # Get list of countries and capitals


[docs]def parse_arguments(arg): # Handles Commandline input PROGRAM = "pycapital" DESCRIPTION = "Displays capital city of specified country." parser = argparse.ArgumentParser( prog=PROGRAM, description=DESCRIPTION, usage='%(prog)s [country]' ) parser.add_argument('country', help="Displays the capital of country.", nargs='+') args = parser.parse_args(arg) country_data_list = ' '.join(args.country) return country_data_list
[docs]def get_list_of_countries(): return COUNTRY_DATA
[docs]def capital(country): """Prints capital of any given country.""" countries = get_list_of_countries() usr_country = country if TTY: try: if usr_country.istitle(): print("The Capital city of %s is %s." % (usr_country, countries[usr_country])) else: usr_country = usr_country.title() print("The Capital City of %s is %s." % (usr_country, countries[usr_country])) except: print("Please enter a valid country name.") else: try: if usr_country.istitle(): return countries[usr_country] else: usr_country = usr_country.title() return countries[usr_country] except: return 0
[docs]def main(country_arg): capital(parse_arguments(country_arg))
if __name__ == "__main__": # Everything except the script name is passed to main TTY = True main(argv[1:])