#!/usr/bin/env python

import argparse
import importlib.machinery

if __name__ == '__main__':
    p = argparse.ArgumentParser()
    p.add_argument('source_file')
    p.add_argument('module_name')
    p.add_argument('func_name')
    p.add_argument('-d', '--debug', action='store_true')
    args = p.parse_args()

    # d = json.load(sys.stdin)
    d = ''

    loader = importlib.machinery.SourceFileLoader(args.source_file, args.module_name)
    mod = loader.load_module()
    func = getattr(mod, args.func_name)
    if args.debug:

        try:
            func(**d)
        except Exception:
            import IPython

            IPython.embed()
