Organize if else block
I'm not a Python programmer, but the way to not repeat the code without creating a function is to do the download checking first have flags set by that checking one for creating a new file path and one for doing the download. Figure out everything that needs to be done first and then do the download and path creation as necessary.
pseudo code:
if not local path or file:
    create_local_path_flag = True

if file size not valid:
    file_out_of_date_flag = True

if create_local_path_flag or file_out_of_date_flag:
    if create_local_path_flag:
        create_local_path()
    download_file()