def file_code(function_index=1, function_name=None):
    """
    This will return the code of the calling function
    function_index of 2 will give the parent of the caller
    function_name should not be used with function_index

    :param function_index: int of how many frames back the program should look
    :param function_name: str of what function to look for
    :return: str of the code from the target function
    """
    info = function_info(function_index + 1, function_name)
    with open(info['file'], 'r') as fn:
        return fn.read()
This will return the code of the calling function
    function_index of 2 will give the parent of the caller
    function_name should not be used with function_index

    :param function_index: int of how many frames back the program should look
    :param function_name: str of what function to look for
    :return: str of the code from the target function