<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def download_file_job(entry, directory, checksums, filetype='genbank', symlink_path=None):
 """Generate a DownloadJob that actually triggers a file download."""

    pattern = NgdConfig.get_fileending(filetype)
    filename, expected_checksum = get_name_and_checksum(checksums, pattern)
    base_url = convert_ftp_url(entry['ftp_path'])
    full_url = '{}/{}'.format(base_url, filename)
    local_file = os.path.join(directory, filename)
    full_symlink = None
    if symlink_path is not None:
        full_symlink = os.path.join(symlink_path, filename)

    # Keep metadata around
    mtable = metadata.get()
    mtable.add(entry, local_file)

    return DownloadJob(full_url, local_file, expected_checksum, full_symlink)