Skip to content

Commit

Permalink
adding the actual cli file
Browse files Browse the repository at this point in the history
  • Loading branch information
gidden committed Aug 2, 2017
1 parent c4ed1e8 commit bb15bae
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions salamanca/cli.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import argparse
import logging

from salamanca import data
from salamanca import currency

COMMANDS = {}

#
# Download wb data
#


def download_wb_cli(parser):
log = 'Print log output during download.'
parser.add_argument('--log', help=log, action="store_true")
overwrite = 'Overwrite local files if they exist.'
parser.add_argument('--overwrite', help=overwrite, action="store_true")


def download_wb(log=False, overwrite=False, **kwargs):
if log:
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

wb = data.WorldBank()
wb.iso_metadata(overwrite=overwrite)
for ind in data.INDICATORS_WB:
wb.query(ind, overwrite=overwrite)


COMMANDS['download_wb'] = (
"""Download national World Bank data to your machine""",
download_wb_cli,
download_wb,
)


#
# Currency Exchange
#

# implement this

def main():
descr = """
Main CLI for salamanca.
"""
parser = argparse.ArgumentParser(
description=descr,
formatter_class=argparse.RawDescriptionHelpFormatter
)
subparsers = parser.add_subparsers(dest='command')

for cmd in COMMANDS:
cli_help = COMMANDS[cmd][0]
cli_func = COMMANDS[cmd][1]
subparser = subparsers.add_parser(cmd, help=cli_help)
cli_func(subparser)

args = parser.parse_args()
cmd = args.command
cmd_func = COMMANDS[cmd][2]
cmd_func(**vars(args))

if __name__ == '__main__':
main()

0 comments on commit bb15bae

Please sign in to comment.